time="2025-05-05T08:14:19Z" level=warning msg="/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/integration-test/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion" Container integration-test-authentication-1 Creating Container integration-test-experiment-1 Creating Container integration-test-authorization-1 Creating Container integration-test-device-1 Creating Container integration-test-federation-1 Creating Container integration-test-gateway-1 Creating Container integration-test-federation-1 Created Container integration-test-experiment-1 Created Container integration-test-gateway-1 Created Container integration-test-authorization-1 Created Container integration-test-authentication-1 Created Container integration-test-device-1 Created Attaching to authentication-1, authorization-1, device-1, experiment-1, federation-1, gateway-1 gateway-1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration gateway-1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf gateway-1 | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-create_config.sh gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/authorization_service.conf to /etc/nginx/authorization_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/lti_service.conf to /etc/nginx/lti_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/nginx.conf to /etc/nginx/nginx.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/device_service.conf to /etc/nginx/device_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/experiment_service.conf to /etc/nginx/experiment_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/auth_service.conf to /etc/nginx/auth_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/federation_service.conf to /etc/nginx/federation_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_json_errors.conf to /etc/nginx/api_json_errors.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_backends.conf to /etc/nginx/api_backends.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_gateway.conf to /etc/nginx/api_gateway.conf gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh gateway-1 | /docker-entrypoint.sh: Configuration complete; ready for start up federation-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authorization-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} federation-1 | {"level":"info","message":"Federation Service started successfully"} experiment-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authorization-1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2025-05-05T08:15:16Z"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} device-1 | {"level":"info","message":"Device Service started successfully"} authorization-1 | {"client_addr":"127.0.0.1:54040","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2025-05-05T08:15:17Z"} authorization-1 | {"client_addr":"127.0.0.1:54040","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.257799,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:17Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1746432917.3817453} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1746432917.3818262} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1746432917.3818429} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"grpc TLS is disabled, serving connections using insecure plaintext","subsystem":"openfga","timestamp":1746432917.3818562} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿ“ˆ starting metrics server on '0.0.0.0:2112'","subsystem":"openfga","timestamp":1746432917.381868} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","date":"2023-06-30T20:11:20Z","go-version":"go1.20.5","level":"info","message":"๐Ÿš€ starting openfga service...","subsystem":"openfga","timestamp":1746432917.3819044,"version":"v1.2.0"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"grpc server listening on 'localhost:3012'...","subsystem":"openfga","timestamp":1746432917.3823652} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1746432917.3833106} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"CreateStore","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2025-05-05T08:15:17.421023006Z","id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","name":"crosslab","updated_at":"2025-05-05T08:15:17.421023006Z"},"request_id":"84c7944b-25b0-4537-8069-2008c4569db4","subsystem":"openfga","timestamp":1746432917.4210985} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"WriteAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"schema_version":"1.1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]},"raw_response":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P"},"request_id":"27b76c1d-e90b-41ac-ae4d-a8829c8abaae","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432917.4742434} authorization-1 | {"client_addr":"127.0.0.1:54040","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2025-05-05T08:15:17Z"} authorization-1 | {"client_addr":"127.0.0.1:54040","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.177196,"resp_status":204,"subsystem":"opa","time":"2025-05-05T08:15:17Z"} authorization-1 | {"level":"info","message":"Authorization Service started successfully"} authorization-1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v1.4.2/opa_linux_amd64","latest_version":"1.4.2","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v1.4.2","subsystem":"opa","time":"2025-05-05T08:15:17Z"} gateway-1 | {"time_local":"05/May/2025:08:15:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.009","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"2889f487225a63f275757a225ac3c2d9"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 6ms","method":"HEAD","requestID":"2889f487225a63f275757a225ac3c2d9","responseTime":6,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"05/May/2025:08:15:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /device/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.011","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"92a1523f826ead27d512b1978b838437"} device-1 | {"level":"info","message":"HEAD /device/status 200 6ms","method":"HEAD","requestID":"1d02b360-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"05/May/2025:08:15:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /authorization/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.008","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"f150c521b83330dd718fd441c3359970"} authorization-1 | {"level":"info","message":"HEAD /authorization/status 200 5ms","method":"HEAD","requestID":"f150c521b83330dd718fd441c3359970","responseTime":5,"status":200,"url":"/authorization/status"} gateway-1 | {"time_local":"05/May/2025:08:15:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /federation/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.011","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"562f5151adb8b4e3e8b63f3dcb8e0af1"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 6ms","method":"HEAD","requestID":"1d0ac9b0-2989-11f0-b4a1-8d7398e18c2f","responseTime":6,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"05/May/2025:08:15:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /experiment/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.033","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"d92fca73e778aa15bfb4ce6e0ee80cf5"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 28ms","method":"HEAD","requestID":"1d0d61c0-2989-11f0-b966-9f109aeafa7e","responseTime":28,"status":200,"url":"/experiment/status"} gateway-1 | {"time_local":"05/May/2025:08:15:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ca3122641b2b8f9e75f4520b9d557b93"} authentication-1 | {"level":"info","message":"POST /login 201 166ms","method":"POST","requestID":"ca3122641b2b8f9e75f4520b9d557b93","responseTime":166,"status":201,"url":"/login"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjkzOX0.2UaV0bKN7qIxq6IfuR1-DXjVMwmtmLJrwOx5hZvd70U","level":"info","message":"auth send jwt","requestID":"38ebd0d5661b49bb3560b045638ef6ed"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"38ebd0d5661b49bb3560b045638ef6ed","responseTime":9,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"38ebd0d5661b49bb3560b045638ef6ed"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:39Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.225091,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"38ebd0d5661b49bb3560b045638ef6ed","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432939,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjkzOX0.2UaV0bKN7qIxq6IfuR1-DXjVMwmtmLJrwOx5hZvd70U"} authorization-1 | {"level":"info","message":"POST /authorize 200 40ms","method":"POST","requestID":"38ebd0d5661b49bb3560b045638ef6ed","responseTime":40,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1994e5d6-5c87-477b-969f-41c61398abd8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432939.5105603} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"38ebd0d5661b49bb3560b045638ef6ed","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"becf9e67-13c4-45e4-9bdb-6ff96ef7e710","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432939.5231411} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"38ebd0d5661b49bb3560b045638ef6ed","responseTime":8,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"04083a6a-d3c5-486c-b681-ad2ecca8eaad","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432939.5508761} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9f1834f9-8aa4-4516-83b8-5af54affa271","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432939.5536659} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"38ebd0d5661b49bb3560b045638ef6ed","responseTime":33,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:39.550847984Z"}]},"request_id":"a90220ee-9e65-4180-8104-cab55b542fd1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432939.5613866} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"38ebd0d5661b49bb3560b045638ef6ed","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"38ebd0d5661b49bb3560b045638ef6ed"} gateway-1 | {"time_local":"05/May/2025:08:15:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.229","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"38ebd0d5661b49bb3560b045638ef6ed"} device-1 | {"level":"info","message":"POST /devices? 201 210ms","method":"POST","requestID":"38ebd0d5661b49bb3560b045638ef6ed","responseTime":210,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjkzOX0.2UaV0bKN7qIxq6IfuR1-DXjVMwmtmLJrwOx5hZvd70U","level":"info","message":"auth send jwt","requestID":"584e975abf3a6d5129032eb260801260"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"584e975abf3a6d5129032eb260801260","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"584e975abf3a6d5129032eb260801260"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:39Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.675107,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"584e975abf3a6d5129032eb260801260","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432939,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjkzOX0.2UaV0bKN7qIxq6IfuR1-DXjVMwmtmLJrwOx5hZvd70U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"584e975abf3a6d5129032eb260801260","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78bca3ba-f994-425a-a77a-d998a101c93e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"49d32b1e-b305-4869-8e34-f7f9f3bfa440","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432939.6421483} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"584e975abf3a6d5129032eb260801260","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf9e3b34-626d-4a94-bd98-a9d94db4cec1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432939.6537545} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"584e975abf3a6d5129032eb260801260","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78bca3ba-f994-425a-a77a-d998a101c93e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"f95ea831-f565-4a0c-a10a-63b761f571bc","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432939.6897573} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a303f4d-3597-4871-893a-7a3176f32cd4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432939.6900308} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"584e975abf3a6d5129032eb260801260","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78bca3ba-f994-425a-a77a-d998a101c93e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78bca3ba-f994-425a-a77a-d998a101c93e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:39.689747517Z"}]},"request_id":"4eb17661-60be-44ed-b348-3d276bff45db","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432939.696079} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"584e975abf3a6d5129032eb260801260","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"584e975abf3a6d5129032eb260801260"} gateway-1 | {"time_local":"05/May/2025:08:15:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.115","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"584e975abf3a6d5129032eb260801260"} device-1 | {"level":"info","message":"POST /devices? 201 109ms","method":"POST","requestID":"584e975abf3a6d5129032eb260801260","responseTime":109,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a979d396402a46ff048b56d846cf50fa","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a979d396402a46ff048b56d846cf50fa","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d8425d81d3720c02a25b5575b8c20c5d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d8425d81d3720c02a25b5575b8c20c5d","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:15:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.009","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a979d396402a46ff048b56d846cf50fa"} device-1 | {"level":"info","message":"OPTIONS /devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58/websocket 200 3ms","method":"OPTIONS","requestID":"a979d396402a46ff048b56d846cf50fa","responseTime":3,"status":200,"url":"/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58/websocket"} gateway-1 | {"time_local":"05/May/2025:08:15:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/78bca3ba-f994-425a-a77a-d998a101c93e/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.013","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d8425d81d3720c02a25b5575b8c20c5d"} device-1 | {"level":"info","message":"OPTIONS /devices/78bca3ba-f994-425a-a77a-d998a101c93e/websocket 200 1ms","method":"OPTIONS","requestID":"d8425d81d3720c02a25b5575b8c20c5d","responseTime":1,"status":200,"url":"/devices/78bca3ba-f994-425a-a77a-d998a101c93e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0Mn0.i9llU2el_lzOdo6uU2sxk4dUsxWN_DT8anlRxlaTeJk","level":"info","message":"auth send jwt","requestID":"5eb0891b84d063a62ebc944db617e9c1"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"5eb0891b84d063a62ebc944db617e9c1","responseTime":9,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0Mn0.i9llU2el_lzOdo6uU2sxk4dUsxWN_DT8anlRxlaTeJk","level":"info","message":"auth send jwt","requestID":"13904f65baf35f4aa6585ec6bd9cf573"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5eb0891b84d063a62ebc944db617e9c1"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"13904f65baf35f4aa6585ec6bd9cf573","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"13904f65baf35f4aa6585ec6bd9cf573"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:42Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.721886,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5eb0891b84d063a62ebc944db617e9c1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432942,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0Mn0.i9llU2el_lzOdo6uU2sxk4dUsxWN_DT8anlRxlaTeJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5eb0891b84d063a62ebc944db617e9c1","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:42Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.656557,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"13904f65baf35f4aa6585ec6bd9cf573","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432942,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0Mn0.i9llU2el_lzOdo6uU2sxk4dUsxWN_DT8anlRxlaTeJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"13904f65baf35f4aa6585ec6bd9cf573","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"13904f65baf35f4aa6585ec6bd9cf573"} gateway-1 | {"time_local":"05/May/2025:08:15:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/78bca3ba-f994-425a-a77a-d998a101c93e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.047","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"13904f65baf35f4aa6585ec6bd9cf573"} device-1 | {"level":"info","message":"POST /devices/78bca3ba-f994-425a-a77a-d998a101c93e/websocket 200 35ms","method":"POST","requestID":"13904f65baf35f4aa6585ec6bd9cf573","responseTime":35,"status":200,"url":"/devices/78bca3ba-f994-425a-a77a-d998a101c93e/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5eb0891b84d063a62ebc944db617e9c1"} gateway-1 | {"time_local":"05/May/2025:08:15:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.052","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5eb0891b84d063a62ebc944db617e9c1"} device-1 | {"level":"info","message":"POST /devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58/websocket 200 40ms","method":"POST","requestID":"5eb0891b84d063a62ebc944db617e9c1","responseTime":40,"status":200,"url":"/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0Mn0.i9llU2el_lzOdo6uU2sxk4dUsxWN_DT8anlRxlaTeJk","level":"info","message":"auth send jwt","requestID":"7eeec32dadaae64b2074a225bb6232ee"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7eeec32dadaae64b2074a225bb6232ee","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7eeec32dadaae64b2074a225bb6232ee"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:42Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.087869,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"7eeec32dadaae64b2074a225bb6232ee","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432942,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0Mn0.i9llU2el_lzOdo6uU2sxk4dUsxWN_DT8anlRxlaTeJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7eeec32dadaae64b2074a225bb6232ee","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:39.550847984Z"}]},"request_id":"27b3480d-f070-4c0d-bde0-75c4f4cfaac7","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432942.662715} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7eeec32dadaae64b2074a225bb6232ee","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7eeec32dadaae64b2074a225bb6232ee"} gateway-1 | {"time_local":"05/May/2025:08:15:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7eeec32dadaae64b2074a225bb6232ee"} device-1 | {"level":"info","message":"GET /devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58? 200 23ms","method":"GET","requestID":"7eeec32dadaae64b2074a225bb6232ee","responseTime":23,"status":200,"url":"/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0Mn0.i9llU2el_lzOdo6uU2sxk4dUsxWN_DT8anlRxlaTeJk","level":"info","message":"auth send jwt","requestID":"57cbbef92dc63856ccfcb7d729878c32"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"57cbbef92dc63856ccfcb7d729878c32","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"57cbbef92dc63856ccfcb7d729878c32"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:42Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.753324,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"57cbbef92dc63856ccfcb7d729878c32","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432942,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0Mn0.i9llU2el_lzOdo6uU2sxk4dUsxWN_DT8anlRxlaTeJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"57cbbef92dc63856ccfcb7d729878c32","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78bca3ba-f994-425a-a77a-d998a101c93e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78bca3ba-f994-425a-a77a-d998a101c93e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:39.689747517Z"}]},"request_id":"c608646d-7381-4551-b981-a6e978ceea83","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432942.6898763} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"57cbbef92dc63856ccfcb7d729878c32","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"57cbbef92dc63856ccfcb7d729878c32"} gateway-1 | {"time_local":"05/May/2025:08:15:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/78bca3ba-f994-425a-a77a-d998a101c93e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"57cbbef92dc63856ccfcb7d729878c32"} device-1 | {"level":"info","message":"GET /devices/78bca3ba-f994-425a-a77a-d998a101c93e? 200 16ms","method":"GET","requestID":"57cbbef92dc63856ccfcb7d729878c32","responseTime":16,"status":200,"url":"/devices/78bca3ba-f994-425a-a77a-d998a101c93e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0Mn0.i9llU2el_lzOdo6uU2sxk4dUsxWN_DT8anlRxlaTeJk","level":"info","message":"auth send jwt","requestID":"183cba53fefd159dd8e3fe2d9a7621e1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"183cba53fefd159dd8e3fe2d9a7621e1","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"183cba53fefd159dd8e3fe2d9a7621e1"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:42Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.827326,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"183cba53fefd159dd8e3fe2d9a7621e1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432942,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0Mn0.i9llU2el_lzOdo6uU2sxk4dUsxWN_DT8anlRxlaTeJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"183cba53fefd159dd8e3fe2d9a7621e1","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"},"level":"info","message":"Attempting to run experiment","requestID":"183cba53fefd159dd8e3fe2d9a7621e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"},"level":"info","message":"Attempting to book experiment","requestID":"183cba53fefd159dd8e3fe2d9a7621e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"},"level":"info","message":"Successfully booked experiment","requestID":"183cba53fefd159dd8e3fe2d9a7621e1"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"23670da0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"236734b0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:42Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.644853,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"23670da0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432942,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0Mn0.i9llU2el_lzOdo6uU2sxk4dUsxWN_DT8anlRxlaTeJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"23670da0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60756","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:42Z"} authorization-1 | {"client_addr":"127.0.0.1:60756","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.876354,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"236734b0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432942,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0Mn0.i9llU2el_lzOdo6uU2sxk4dUsxWN_DT8anlRxlaTeJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"236734b0-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:39.550847984Z"}]},"request_id":"cf0fd8d8-93f6-4a44-898b-3a2bfe3d1555","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432942.9825602} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"23670da0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78bca3ba-f994-425a-a77a-d998a101c93e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78bca3ba-f994-425a-a77a-d998a101c93e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:39.689747517Z"}]},"request_id":"891decf1-f5a0-48d7-9475-604c0443bb42","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432942.9838707} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"236734b0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"23670da0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58? 200 20ms","method":"GET","requestID":"23670da0-2989-11f0-8876-6f29f2a860cb","responseTime":20,"status":200,"url":"/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"236734b0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/78bca3ba-f994-425a-a77a-d998a101c93e? 200 20ms","method":"GET","requestID":"236734b0-2989-11f0-8876-6f29f2a860cb","responseTime":20,"status":200,"url":"/devices/78bca3ba-f994-425a-a77a-d998a101c93e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"},"level":"info","message":"Setting up experiment","requestID":"183cba53fefd159dd8e3fe2d9a7621e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"183cba53fefd159dd8e3fe2d9a7621e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"},"level":"info","message":"Successfully locked booking for experiment","requestID":"183cba53fefd159dd8e3fe2d9a7621e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"183cba53fefd159dd8e3fe2d9a7621e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"183cba53fefd159dd8e3fe2d9a7621e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"},"level":"info","message":"Attempting to update booking for experiment","requestID":"183cba53fefd159dd8e3fe2d9a7621e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"},"level":"info","message":"Successfully updated booking for experiment","requestID":"183cba53fefd159dd8e3fe2d9a7621e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"},"level":"info","message":"Successfully set up experiment","requestID":"183cba53fefd159dd8e3fe2d9a7621e1"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"23820fb0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"23825dd0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:60756","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:43Z"} authorization-1 | {"client_addr":"127.0.0.1:60756","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685623,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:43Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"23820fb0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432942,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0Mn0.i9llU2el_lzOdo6uU2sxk4dUsxWN_DT8anlRxlaTeJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"23820fb0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.791163,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:43Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"},"level":"info","message":"Successfully running experiment","requestID":"183cba53fefd159dd8e3fe2d9a7621e1"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"23825dd0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432942,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0Mn0.i9llU2el_lzOdo6uU2sxk4dUsxWN_DT8anlRxlaTeJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"23825dd0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2382d300-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:43Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27b018b1-1a05-418a-b1c9-f0e397a79cde","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432943.162993} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.544303,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2382d300-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"2382d300-2989-11f0-8876-6f29f2a860cb","responseTime":33,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:39.550847984Z"}]},"request_id":"bc7e3e36-16b8-4b01-baa6-7427d41d8771","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432943.189525} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78bca3ba-f994-425a-a77a-d998a101c93e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78bca3ba-f994-425a-a77a-d998a101c93e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:39.689747517Z"}]},"request_id":"45ac5370-7fab-4a52-8545-d83c02361da5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432943.1907048} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","method":"POST","requestID":"23820fb0-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"23825dd0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F16551b0b-2b5d-44cf-bda0-a0dd5a477d65#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F16551b0b-2b5d-44cf-bda0-a0dd5a477d65","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"28db5c0f-6af0-4f21-afbc-5cd9b39aee37","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432943.1974957} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a15f082-2d20-430b-88d6-cf78825cd194","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432943.1978915} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2382d300-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58/signaling 200 47ms","method":"POST","requestID":"2382d300-2989-11f0-8876-6f29f2a860cb","responseTime":47,"status":200,"url":"/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"23820fb0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"183cba53fefd159dd8e3fe2d9a7621e1","responseTime":42,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58? 200 55ms","method":"GET","requestID":"23820fb0-2989-11f0-8876-6f29f2a860cb","responseTime":55,"status":200,"url":"/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"23825dd0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/78bca3ba-f994-425a-a77a-d998a101c93e? 200 55ms","method":"GET","requestID":"23825dd0-2989-11f0-8876-6f29f2a860cb","responseTime":55,"status":200,"url":"/devices/78bca3ba-f994-425a-a77a-d998a101c93e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"238ae950-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:43Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78bca3ba-f994-425a-a77a-d998a101c93e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e3634d09-14b4-436f-9e2b-5e6ef6b5b4cf","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432943.2344327} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.710683,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"238ae950-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"238ae950-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"238fcb50-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:43Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef2b898c-5639-4bd5-9301-86945e02bc75","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432943.2427602} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"238ae950-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"183cba53fefd159dd8e3fe2d9a7621e1"} device-1 | {"level":"info","message":"POST /devices/78bca3ba-f994-425a-a77a-d998a101c93e/signaling 200 38ms","method":"POST","requestID":"238ae950-2989-11f0-8876-6f29f2a860cb","responseTime":38,"status":200,"url":"/devices/78bca3ba-f994-425a-a77a-d998a101c93e/signaling"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.224512,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"238fcb50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"238fcb50-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"05/May/2025:08:15:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.541","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"183cba53fefd159dd8e3fe2d9a7621e1"} experiment-1 | {"level":"info","message":"POST /experiments? 201 522ms","method":"POST","requestID":"183cba53fefd159dd8e3fe2d9a7621e1","responseTime":522,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"238fcb50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58/signaling 200 12ms","method":"POST","requestID":"238fcb50-2989-11f0-8876-6f29f2a860cb","responseTime":12,"status":200,"url":"/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"23926360-2989-11f0-8876-6f29f2a860cb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0M30.uyc9eMqXdcOiq8sMH1wYlz9DHlXftiONVfZG3YZID-o","level":"info","message":"auth send jwt","requestID":"d04e0f480d54b9ac32754a13e0a43638"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d04e0f480d54b9ac32754a13e0a43638","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:43Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d04e0f480d54b9ac32754a13e0a43638"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78bca3ba-f994-425a-a77a-d998a101c93e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a64470da-20ae-4dbb-a877-d62b6a2df3c2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432943.282746} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.365129,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:43Z"} authorization-1 | {"client_addr":"127.0.0.1:60756","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:43Z"} authorization-1 | {"client_addr":"127.0.0.1:60756","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.856281,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"23926360-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"23926360-2989-11f0-8876-6f29f2a860cb","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"d04e0f480d54b9ac32754a13e0a43638","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432943,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0M30.uyc9eMqXdcOiq8sMH1wYlz9DHlXftiONVfZG3YZID-o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d04e0f480d54b9ac32754a13e0a43638","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"23926360-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/78bca3ba-f994-425a-a77a-d998a101c93e/signaling 200 36ms","method":"POST","requestID":"23926360-2989-11f0-8876-6f29f2a860cb","responseTime":36,"status":200,"url":"/devices/78bca3ba-f994-425a-a77a-d998a101c93e/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:39.550847984Z"}]},"request_id":"6aeb91d3-0067-46d5-89d2-9a1eebe3c3d0","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432943.2912655} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"183cba53fefd159dd8e3fe2d9a7621e1"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d04e0f480d54b9ac32754a13e0a43638","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"},"level":"info","message":"Building connection plan","requestID":"183cba53fefd159dd8e3fe2d9a7621e1"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"100fb152-0fdc-478e-bd53-3ff004791024"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"22c4e447-70ed-4779-aff5-4b62ca33a2d3"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"66b336df-56d9-4a9e-bdda-8557d4a8fcef"}]},"level":"info","message":"Built pairwise service configurations","requestID":"183cba53fefd159dd8e3fe2d9a7621e1"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"183cba53fefd159dd8e3fe2d9a7621e1"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d04e0f480d54b9ac32754a13e0a43638"} gateway-1 | {"time_local":"05/May/2025:08:15:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d04e0f480d54b9ac32754a13e0a43638"} device-1 | {"level":"info","message":"GET /devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58? 200 15ms","method":"GET","requestID":"d04e0f480d54b9ac32754a13e0a43638","responseTime":15,"status":200,"url":"/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"23994130-2989-11f0-8876-6f29f2a860cb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0M30.uyc9eMqXdcOiq8sMH1wYlz9DHlXftiONVfZG3YZID-o","level":"info","message":"auth send jwt","requestID":"a26781b17c91ca40cd6c16f81ae380e0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a26781b17c91ca40cd6c16f81ae380e0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a26781b17c91ca40cd6c16f81ae380e0"} authorization-1 | {"client_addr":"127.0.0.1:60756","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:43Z"} authorization-1 | {"client_addr":"127.0.0.1:60756","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.641687,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:43Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"23994130-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432942,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0Mn0.i9llU2el_lzOdo6uU2sxk4dUsxWN_DT8anlRxlaTeJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"23994130-2989-11f0-8876-6f29f2a860cb","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.541108,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"a26781b17c91ca40cd6c16f81ae380e0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432943,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0M30.uyc9eMqXdcOiq8sMH1wYlz9DHlXftiONVfZG3YZID-o"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"a26781b17c91ca40cd6c16f81ae380e0","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78bca3ba-f994-425a-a77a-d998a101c93e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78bca3ba-f994-425a-a77a-d998a101c93e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:39.689747517Z"}]},"request_id":"5379563d-9c8f-4321-ad07-97291a49aecb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432943.334155} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a26781b17c91ca40cd6c16f81ae380e0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a26781b17c91ca40cd6c16f81ae380e0"} gateway-1 | {"time_local":"05/May/2025:08:15:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/78bca3ba-f994-425a-a77a-d998a101c93e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a26781b17c91ca40cd6c16f81ae380e0"} device-1 | {"level":"info","message":"GET /devices/78bca3ba-f994-425a-a77a-d998a101c93e? 200 39ms","method":"GET","requestID":"a26781b17c91ca40cd6c16f81ae380e0","responseTime":39,"status":200,"url":"/devices/78bca3ba-f994-425a-a77a-d998a101c93e?"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"85e41844-8b8c-47d8-8c0b-892779ae4cf1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432943.7437792} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6cf2aa50-6a63-4842-bce2-800f37d564d8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432943.7441695} authorization-1 | {"level":"info","message":"POST /relations/update 200 411ms","method":"POST","requestID":"23994130-2989-11f0-8876-6f29f2a860cb","responseTime":411,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"23994130-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"23994130-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/d60d8357-840f-44d9-b17a-6fbedba21a6f'","requestID":"23994130-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d60d8357-840f-44d9-b17a-6fbedba21a6f'","requestID":"23994130-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"23994130-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 625ms","method":"POST","requestID":"23994130-2989-11f0-8876-6f29f2a860cb","responseTime":625,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"23994130-2989-11f0-8876-6f29f2a860cb"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/d60d8357-840f-44d9-b17a-6fbedba21a6f","device":"6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/d60d8357-840f-44d9-b17a-6fbedba21a6f","device":"78bca3ba-f994-425a-a77a-d998a101c93e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"device":"78bca3ba-f994-425a-a77a-d998a101c93e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"78bca3ba-f994-425a-a77a-d998a101c93e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"183cba53fefd159dd8e3fe2d9a7621e1"} device-1 | {"content":{"sdp":"v=0\r\no=- 5340359762417216462 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:7pB8\r\na=ice-pwd:KqTbyyPGsZQaIw54YYErsAF0\r\na=ice-options:trickle\r\na=fingerprint:sha-256 B3:BF:F7:8F:B8:46:C2:36:3F:A9:3E:F2:7E:1C:87:47:C0:71:90:56:30:C0:68:56:C1:D2:AC:21:A9:F7:29:43\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2430ed50-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:44Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4ca6dd15-0d5d-46f3-bafa-c4f3b685923a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432944.2982476} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.195808,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2430ed50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"2430ed50-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2430ed50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58/signaling 200 11ms","method":"POST","requestID":"2430ed50-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"24331030-2989-11f0-8876-6f29f2a860cb"} device-1 | {"content":{"sdp":"v=0\r\no=- 2142608772254566090 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:iY2A\r\na=ice-pwd:obMEpubd2cYNdyyJzKoM1Erw\r\na=ice-options:trickle\r\na=fingerprint:sha-256 AA:AB:95:FD:63:FE:DF:0C:46:D4:EA:78:A6:14:D6:F2:93:C6:C7:D4:BB:B6:AA:38:DB:40:40:0E:33:D8:DD:9F\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"78bca3ba-f994-425a-a77a-d998a101c93e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:44Z"} device-1 | {"content":{"candidate":"candidate:3260615831 1 udp 2113937151 73dac5d6-e3a7-4109-975b-1bf762ddbf88.local 41229 typ host generation 0 ufrag iY2A network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"78bca3ba-f994-425a-a77a-d998a101c93e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78bca3ba-f994-425a-a77a-d998a101c93e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6df17284-c455-437b-aaed-3ef6d77688f6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432944.3372602} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.356696,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:44Z"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e'"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"24331030-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"24331030-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"24331030-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/78bca3ba-f994-425a-a77a-d998a101c93e/signaling 200 46ms","method":"POST","requestID":"24331030-2989-11f0-8876-6f29f2a860cb","responseTime":46,"status":200,"url":"/devices/78bca3ba-f994-425a-a77a-d998a101c93e/signaling"} device-1 | {"content":{"candidate":"candidate:3257787856 1 udp 2113937151 068a8a70-5d00-4ba1-a8c4-0aab70e31e1c.local 53925 typ host generation 0 ufrag 7pB8 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"78bca3ba-f994-425a-a77a-d998a101c93e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d60d8357-840f-44d9-b17a-6fbedba21a6f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d60d8357-840f-44d9-b17a-6fbedba21a6f","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"78bca3ba-f994-425a-a77a-d998a101c93e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"78bca3ba-f994-425a-a77a-d998a101c93e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d48740dd34804776c567801fe4de690b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d48740dd34804776c567801fe4de690b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"device":"78bca3ba-f994-425a-a77a-d998a101c93e","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d60d8357-840f-44d9-b17a-6fbedba21a6f"}}},"level":"info","message":"received a callback","requestID":"d48740dd34804776c567801fe4de690b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 11ms","method":"POST","requestID":"d48740dd34804776c567801fe4de690b","responseTime":11,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:15:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch","requestID":"d48740dd34804776c567801fe4de690b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0NH0.5992kLBnnyifYXB85Nb_ucjzCKtn5PKn8Rm4Z-KNjLk","level":"info","message":"auth send jwt","requestID":"6ebfaede93b3445fdd570da75acc0b62"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6ebfaede93b3445fdd570da75acc0b62","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","requestID":"6ebfaede93b3445fdd570da75acc0b62"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:44Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.634534,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6ebfaede93b3445fdd570da75acc0b62","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432944,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0NH0.5992kLBnnyifYXB85Nb_ucjzCKtn5PKn8Rm4Z-KNjLk"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"6ebfaede93b3445fdd570da75acc0b62","responseTime":29,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","requestID":"6ebfaede93b3445fdd570da75acc0b62"} gateway-1 | {"time_local":"05/May/2025:08:15:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6ebfaede93b3445fdd570da75acc0b62"} experiment-1 | {"level":"info","message":"GET /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65 200 41ms","method":"GET","requestID":"6ebfaede93b3445fdd570da75acc0b62","responseTime":41,"status":200,"url":"/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"} device-1 | {"data":{"peerconnection":"d60d8357-840f-44d9-b17a-6fbedba21a6f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0NH0.5992kLBnnyifYXB85Nb_ucjzCKtn5PKn8Rm4Z-KNjLk","level":"info","message":"auth send jwt","requestID":"180bc14b910e4d88967156c83c7f2e77"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"180bc14b910e4d88967156c83c7f2e77","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","requestID":"180bc14b910e4d88967156c83c7f2e77"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:44Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.78783,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"180bc14b910e4d88967156c83c7f2e77","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432944,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0NH0.5992kLBnnyifYXB85Nb_ucjzCKtn5PKn8Rm4Z-KNjLk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"180bc14b910e4d88967156c83c7f2e77","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","requestID":"180bc14b910e4d88967156c83c7f2e77"} gateway-1 | {"time_local":"05/May/2025:08:15:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"180bc14b910e4d88967156c83c7f2e77"} experiment-1 | {"level":"info","message":"GET /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65 200 36ms","method":"GET","requestID":"180bc14b910e4d88967156c83c7f2e77","responseTime":36,"status":200,"url":"/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"} device-1 | {"data":{"peerconnection":"d60d8357-840f-44d9-b17a-6fbedba21a6f","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0NH0.5992kLBnnyifYXB85Nb_ucjzCKtn5PKn8Rm4Z-KNjLk","level":"info","message":"auth send jwt","requestID":"4a44f6e896ab69ea86cb6542868e85ab"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4a44f6e896ab69ea86cb6542868e85ab","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","requestID":"4a44f6e896ab69ea86cb6542868e85ab"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:44Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.695862,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4a44f6e896ab69ea86cb6542868e85ab","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432944,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0NH0.5992kLBnnyifYXB85Nb_ucjzCKtn5PKn8Rm4Z-KNjLk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4a44f6e896ab69ea86cb6542868e85ab","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","requestID":"4a44f6e896ab69ea86cb6542868e85ab"} gateway-1 | {"time_local":"05/May/2025:08:15:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4a44f6e896ab69ea86cb6542868e85ab"} experiment-1 | {"level":"info","message":"GET /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65 200 12ms","method":"GET","requestID":"4a44f6e896ab69ea86cb6542868e85ab","responseTime":12,"status":200,"url":"/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0NH0.5992kLBnnyifYXB85Nb_ucjzCKtn5PKn8Rm4Z-KNjLk","level":"info","message":"auth send jwt","requestID":"995fca403aafd2d8631701130d560e3b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"995fca403aafd2d8631701130d560e3b","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","requestID":"995fca403aafd2d8631701130d560e3b"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d60d8357-840f-44d9-b17a-6fbedba21a6f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d60d8357-840f-44d9-b17a-6fbedba21a6f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:44Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.875396,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"995fca403aafd2d8631701130d560e3b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432944,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0NH0.5992kLBnnyifYXB85Nb_ucjzCKtn5PKn8Rm4Z-KNjLk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"995fca403aafd2d8631701130d560e3b","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a425336f351631772871f22bafb0625f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a425336f351631772871f22bafb0625f","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d60d8357-840f-44d9-b17a-6fbedba21a6f"}}},"level":"info","message":"received a callback","requestID":"a425336f351631772871f22bafb0625f"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","requestID":"995fca403aafd2d8631701130d560e3b"} gateway-1 | {"time_local":"05/May/2025:08:15:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"995fca403aafd2d8631701130d560e3b"} experiment-1 | {"level":"info","message":"GET /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65 200 20ms","method":"GET","requestID":"995fca403aafd2d8631701130d560e3b","responseTime":20,"status":200,"url":"/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"249b47e0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:44Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd60d8357-840f-44d9-b17a-6fbedba21a6f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"87e0b556-d7fb-4a6e-9c07-c5cbe7fbe1a3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432944.9957662} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.425114,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d60d8357-840f-44d9-b17a-6fbedba21a6f","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"249b47e0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d60d8357-840f-44d9-b17a-6fbedba21a6f","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"249b47e0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"249b47e0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/d60d8357-840f-44d9-b17a-6fbedba21a6f 200 28ms","method":"GET","requestID":"249b47e0-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/peerconnections/d60d8357-840f-44d9-b17a-6fbedba21a6f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 68ms","method":"POST","requestID":"a425336f351631772871f22bafb0625f","responseTime":68,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:15:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.074","http_referrer":"","http_user_agent":"node-fetch","requestID":"a425336f351631772871f22bafb0625f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"24a3d360-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:45Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78bca3ba-f994-425a-a77a-d998a101c93e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"95b8f1b3-d60e-48ef-8762-40bfc385ee73","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432945.0516665} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.329848,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"24a3d360-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"24a3d360-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"24a3d360-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/78bca3ba-f994-425a-a77a-d998a101c93e/signaling 200 11ms","method":"POST","requestID":"24a3d360-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/78bca3ba-f994-425a-a77a-d998a101c93e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"24a5cf30-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:45Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bb65bfb3-6611-41dd-af60-bc2b7c26f185","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432945.0637684} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.196136,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"24a5cf30-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"24a5cf30-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"24a5cf30-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58/signaling 200 9ms","method":"POST","requestID":"24a5cf30-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0NX0.hQSEpnXcLL2FRHtlBT40B2gIiutuVaQNRbLAqqEaGtE","level":"info","message":"auth send jwt","requestID":"14882b4cf0a74592575a5d8c532ceb32"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"14882b4cf0a74592575a5d8c532ceb32","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","requestID":"14882b4cf0a74592575a5d8c532ceb32"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:45Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.629542,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"14882b4cf0a74592575a5d8c532ceb32","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432945,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0NX0.hQSEpnXcLL2FRHtlBT40B2gIiutuVaQNRbLAqqEaGtE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"14882b4cf0a74592575a5d8c532ceb32","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","requestID":"14882b4cf0a74592575a5d8c532ceb32"} gateway-1 | {"time_local":"05/May/2025:08:15:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"14882b4cf0a74592575a5d8c532ceb32"} experiment-1 | {"level":"info","message":"GET /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65 200 12ms","method":"GET","requestID":"14882b4cf0a74592575a5d8c532ceb32","responseTime":12,"status":200,"url":"/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0NX0.hQSEpnXcLL2FRHtlBT40B2gIiutuVaQNRbLAqqEaGtE","level":"info","message":"auth send jwt","requestID":"239e4eedbef97bef8edbe10af02d0dde"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"239e4eedbef97bef8edbe10af02d0dde","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","requestID":"239e4eedbef97bef8edbe10af02d0dde"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:45Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.871866,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"239e4eedbef97bef8edbe10af02d0dde","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432945,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0NX0.hQSEpnXcLL2FRHtlBT40B2gIiutuVaQNRbLAqqEaGtE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"239e4eedbef97bef8edbe10af02d0dde","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"},"level":"info","message":"Attempting to finish experiment","requestID":"239e4eedbef97bef8edbe10af02d0dde"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"24afba40-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:45Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":24.994988,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d60d8357-840f-44d9-b17a-6fbedba21a6f","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"24afba40-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/d60d8357-840f-44d9-b17a-6fbedba21a6f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432945,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0NX0.hQSEpnXcLL2FRHtlBT40B2gIiutuVaQNRbLAqqEaGtE"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"24afba40-2989-11f0-8876-6f29f2a860cb","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/d60d8357-840f-44d9-b17a-6fbedba21a6f","device":"78bca3ba-f994-425a-a77a-d998a101c93e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/d60d8357-840f-44d9-b17a-6fbedba21a6f","device":"6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d60d8357-840f-44d9-b17a-6fbedba21a6f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d60d8357-840f-44d9-b17a-6fbedba21a6f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d60d8357-840f-44d9-b17a-6fbedba21a6f","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"28244ce1221a245e4bf6ea03e497f394","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"28244ce1221a245e4bf6ea03e497f394","responseTime":0,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6e42831ce3a6d04a281c959aceeffa0b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6e42831ce3a6d04a281c959aceeffa0b","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d60d8357-840f-44d9-b17a-6fbedba21a6f"}}},"level":"info","message":"received a callback","requestID":"28244ce1221a245e4bf6ea03e497f394"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d60d8357-840f-44d9-b17a-6fbedba21a6f"}}},"level":"info","message":"received a callback","requestID":"6e42831ce3a6d04a281c959aceeffa0b"} device-1 | {"data":{"peerconnection":"d60d8357-840f-44d9-b17a-6fbedba21a6f","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd60d8357-840f-44d9-b17a-6fbedba21a6f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd60d8357-840f-44d9-b17a-6fbedba21a6f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"585b0298-f58c-40fe-b097-0c7732a0cdcc","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432945.208585} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bb171c2c-6383-4f46-a60a-2699e630768f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432945.2088768} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","method":"POST","requestID":"24afba40-2989-11f0-8876-6f29f2a860cb","responseTime":46,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"24afba40-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/d60d8357-840f-44d9-b17a-6fbedba21a6f 204 126ms","method":"DELETE","requestID":"24afba40-2989-11f0-8876-6f29f2a860cb","responseTime":126,"status":204,"url":"/peerconnections/d60d8357-840f-44d9-b17a-6fbedba21a6f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"},"level":"info","message":"Successfully finished experiment","requestID":"239e4eedbef97bef8edbe10af02d0dde"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"24ca6e30-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:45Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78bca3ba-f994-425a-a77a-d998a101c93e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d180d514-26c0-4a60-bde9-6a2f7d7be7c2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432945.3041975} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.337399,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"24ca6e30-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"24ca6e30-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"24ca6e30-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/78bca3ba-f994-425a-a77a-d998a101c93e/signaling 200 9ms","method":"POST","requestID":"24ca6e30-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/78bca3ba-f994-425a-a77a-d998a101c93e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"24cc42f0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:45Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6f07a854-1b30-4e80-a938-18b77d4774cf","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432945.315472} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.533634,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"24cc42f0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"24cc42f0-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F16551b0b-2b5d-44cf-bda0-a0dd5a477d65': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F16551b0b-2b5d-44cf-bda0-a0dd5a477d65","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"e5be10f9-291b-4c60-8fdf-e00b6c0ff7f4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432945.318297} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f25cf483-eb98-4189-8e9b-a20e01473f4e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432945.318568} authorization-1 | {"level":"info","message":"POST /relations/update 200 73ms","method":"POST","requestID":"239e4eedbef97bef8edbe10af02d0dde","responseTime":73,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"24cc42f0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58/signaling 200 35ms","method":"POST","requestID":"24cc42f0-2989-11f0-8876-6f29f2a860cb","responseTime":35,"status":200,"url":"/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65","requestID":"239e4eedbef97bef8edbe10af02d0dde"} gateway-1 | {"time_local":"05/May/2025:08:15:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.298","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"239e4eedbef97bef8edbe10af02d0dde"} experiment-1 | {"level":"info","message":"DELETE /experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65 204 296ms","method":"DELETE","requestID":"239e4eedbef97bef8edbe10af02d0dde","responseTime":296,"status":204,"url":"/experiments/16551b0b-2b5d-44cf-bda0-a0dd5a477d65"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 236ms","method":"POST","requestID":"28244ce1221a245e4bf6ea03e497f394","responseTime":236,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:15:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.239","http_referrer":"","http_user_agent":"node-fetch","requestID":"28244ce1221a245e4bf6ea03e497f394"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 235ms","method":"POST","requestID":"6e42831ce3a6d04a281c959aceeffa0b","responseTime":235,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:15:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.238","http_referrer":"","http_user_agent":"node-fetch","requestID":"6e42831ce3a6d04a281c959aceeffa0b"} gateway-1 | {"time_local":"05/May/2025:08:15:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"2.782","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ff3b11942c4f2be3c40b164cea1ca4aa"} gateway-1 | {"time_local":"05/May/2025:08:15:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"2.786","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8945d9612f90fd8b846b8737a6b7c233"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6d27e437-78b7-4cd7-a82a-2c2e03cd2c58' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/78bca3ba-f994-425a-a77a-d998a101c93e' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"db9b9effdacec9419a270f36c512c722"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0NX0.hQSEpnXcLL2FRHtlBT40B2gIiutuVaQNRbLAqqEaGtE","level":"info","message":"auth send jwt","requestID":"db9b9effdacec9419a270f36c512c722"} authentication-1 | {"level":"info","message":"GET /auth 200 13ms","method":"GET","requestID":"db9b9effdacec9419a270f36c512c722","responseTime":13,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:45Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.64687,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"db9b9effdacec9419a270f36c512c722","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432945,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0NX0.hQSEpnXcLL2FRHtlBT40B2gIiutuVaQNRbLAqqEaGtE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"db9b9effdacec9419a270f36c512c722","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7db3f96b-24d1-4205-97fb-36a9d3c43660","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"648972c7-8201-40a7-b631-be310fb2fbc1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432945.4399278} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"db9b9effdacec9419a270f36c512c722","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"080b1345-ed0c-45c8-b72e-bde77b2e138f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432945.4448771} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"db9b9effdacec9419a270f36c512c722","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7db3f96b-24d1-4205-97fb-36a9d3c43660","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"f81fd720-da13-4b92-9689-f6d2e68d4041","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432945.4548485} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"342826f4-8827-4f1c-9293-20d54a3b37b3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432945.455171} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"db9b9effdacec9419a270f36c512c722","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7db3f96b-24d1-4205-97fb-36a9d3c43660","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7db3f96b-24d1-4205-97fb-36a9d3c43660","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:45.454833806Z"}]},"request_id":"1ff2566c-64e8-40e1-916b-f57f65570b9f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432945.4599137} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"db9b9effdacec9419a270f36c512c722","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"db9b9effdacec9419a270f36c512c722"} gateway-1 | {"time_local":"05/May/2025:08:15:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"db9b9effdacec9419a270f36c512c722"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"db9b9effdacec9419a270f36c512c722","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0NX0.hQSEpnXcLL2FRHtlBT40B2gIiutuVaQNRbLAqqEaGtE","level":"info","message":"auth send jwt","requestID":"302b31b6be0f3b42e61804c6d40add4a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"302b31b6be0f3b42e61804c6d40add4a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"302b31b6be0f3b42e61804c6d40add4a"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:45Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.881129,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"302b31b6be0f3b42e61804c6d40add4a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432945,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0NX0.hQSEpnXcLL2FRHtlBT40B2gIiutuVaQNRbLAqqEaGtE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"302b31b6be0f3b42e61804c6d40add4a","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5cf351ca-21d7-414b-9e72-c91359e44a06","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432945.5046513} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"302b31b6be0f3b42e61804c6d40add4a","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"97a58d5c-9b27-41b1-8ca4-fed65e0864f6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432945.5092473} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"302b31b6be0f3b42e61804c6d40add4a","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"34527e59-4ac5-4c6c-9317-2bc6fc8d6276","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432945.5473635} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ebcfd02c-167e-4436-9025-a25381886194","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432945.5476625} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"302b31b6be0f3b42e61804c6d40add4a","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:45.547352535Z"}]},"request_id":"15fa3276-01d6-45fb-86af-5af2b9f2aea4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432945.5516167} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"302b31b6be0f3b42e61804c6d40add4a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"302b31b6be0f3b42e61804c6d40add4a"} gateway-1 | {"time_local":"05/May/2025:08:15:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"302b31b6be0f3b42e61804c6d40add4a"} device-1 | {"level":"info","message":"POST /devices? 201 86ms","method":"POST","requestID":"302b31b6be0f3b42e61804c6d40add4a","responseTime":86,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0Nn0.4KYyf3SlpK3xieVU8twnV6tAeKqhhMBmlyZwXLTnUuA","level":"info","message":"auth send jwt","requestID":"f3b0ad830dd0b490cbcc860a7e0834ee"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f3b0ad830dd0b490cbcc860a7e0834ee","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"f3b0ad830dd0b490cbcc860a7e0834ee"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:46Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.808215,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"f3b0ad830dd0b490cbcc860a7e0834ee","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432946,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0Nn0.4KYyf3SlpK3xieVU8twnV6tAeKqhhMBmlyZwXLTnUuA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f3b0ad830dd0b490cbcc860a7e0834ee","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:45.547352535Z"}]},"request_id":"1979fb79-dfed-4377-863c-41f6eb58c967","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432946.4747996} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f3b0ad830dd0b490cbcc860a7e0834ee","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8fa85565-7779-485c-be1c-efccb7db1ab3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432946.5005763} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"f3b0ad830dd0b490cbcc860a7e0834ee","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:45.547352535Z"}]},"request_id":"db3a999d-ffe1-4f4e-8fe7-2bf55d441e24","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432946.5189736} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f3b0ad830dd0b490cbcc860a7e0834ee","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"f3b0ad830dd0b490cbcc860a7e0834ee"} gateway-1 | {"time_local":"05/May/2025:08:15:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.095","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"f3b0ad830dd0b490cbcc860a7e0834ee"} device-1 | {"level":"info","message":"PATCH /devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d 200 91ms","method":"PATCH","requestID":"f3b0ad830dd0b490cbcc860a7e0834ee","responseTime":91,"status":200,"url":"/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0Nn0.4KYyf3SlpK3xieVU8twnV6tAeKqhhMBmlyZwXLTnUuA","level":"info","message":"auth send jwt","requestID":"349197ab8c4bba0abe2381fda127e1d5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"349197ab8c4bba0abe2381fda127e1d5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"349197ab8c4bba0abe2381fda127e1d5"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:46Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.722495,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"349197ab8c4bba0abe2381fda127e1d5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432946,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0Nn0.4KYyf3SlpK3xieVU8twnV6tAeKqhhMBmlyZwXLTnUuA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"349197ab8c4bba0abe2381fda127e1d5","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"349197ab8c4bba0abe2381fda127e1d5"} gateway-1 | {"time_local":"05/May/2025:08:15:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.018","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"349197ab8c4bba0abe2381fda127e1d5"} device-1 | {"level":"info","message":"POST /devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d/websocket 200 39ms","method":"POST","requestID":"349197ab8c4bba0abe2381fda127e1d5","responseTime":39,"status":200,"url":"/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4367d23efed1eb1607cfbdf35540111c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4367d23efed1eb1607cfbdf35540111c","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:15:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7db3f96b-24d1-4205-97fb-36a9d3c43660/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4367d23efed1eb1607cfbdf35540111c"} device-1 | {"level":"info","message":"OPTIONS /devices/7db3f96b-24d1-4205-97fb-36a9d3c43660/websocket 200 1ms","method":"OPTIONS","requestID":"4367d23efed1eb1607cfbdf35540111c","responseTime":1,"status":200,"url":"/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0N30.MOLAOsdrejLLIoGV5Ikp_pW_7XKyxSuJVPABPosR3uo","level":"info","message":"auth send jwt","requestID":"11513c603d8393be10de07e2174a782b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"11513c603d8393be10de07e2174a782b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"11513c603d8393be10de07e2174a782b"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:47Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.261914,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"11513c603d8393be10de07e2174a782b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432947,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0N30.MOLAOsdrejLLIoGV5Ikp_pW_7XKyxSuJVPABPosR3uo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"11513c603d8393be10de07e2174a782b","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"11513c603d8393be10de07e2174a782b"} gateway-1 | {"time_local":"05/May/2025:08:15:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7db3f96b-24d1-4205-97fb-36a9d3c43660/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.084","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"11513c603d8393be10de07e2174a782b"} device-1 | {"level":"info","message":"POST /devices/7db3f96b-24d1-4205-97fb-36a9d3c43660/websocket 200 77ms","method":"POST","requestID":"11513c603d8393be10de07e2174a782b","responseTime":77,"status":200,"url":"/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0N30.MOLAOsdrejLLIoGV5Ikp_pW_7XKyxSuJVPABPosR3uo","level":"info","message":"auth send jwt","requestID":"e7d0ed6b35d0a393026dd857474a81a8"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e7d0ed6b35d0a393026dd857474a81a8","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e7d0ed6b35d0a393026dd857474a81a8"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:47Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.213108,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"e7d0ed6b35d0a393026dd857474a81a8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432947,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0N30.MOLAOsdrejLLIoGV5Ikp_pW_7XKyxSuJVPABPosR3uo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e7d0ed6b35d0a393026dd857474a81a8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7db3f96b-24d1-4205-97fb-36a9d3c43660","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7db3f96b-24d1-4205-97fb-36a9d3c43660","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:45.454833806Z"}]},"request_id":"0ca1cbb0-db41-4164-93a5-dd018d752893","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432947.965007} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e7d0ed6b35d0a393026dd857474a81a8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e7d0ed6b35d0a393026dd857474a81a8"} gateway-1 | {"time_local":"05/May/2025:08:15:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7db3f96b-24d1-4205-97fb-36a9d3c43660? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e7d0ed6b35d0a393026dd857474a81a8"} device-1 | {"level":"info","message":"GET /devices/7db3f96b-24d1-4205-97fb-36a9d3c43660? 200 14ms","method":"GET","requestID":"e7d0ed6b35d0a393026dd857474a81a8","responseTime":14,"status":200,"url":"/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0N30.MOLAOsdrejLLIoGV5Ikp_pW_7XKyxSuJVPABPosR3uo","level":"info","message":"auth send jwt","requestID":"6b7ff4e50f9b201ed9aac903db67fcc8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6b7ff4e50f9b201ed9aac903db67fcc8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6b7ff4e50f9b201ed9aac903db67fcc8"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:47Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.111811,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6b7ff4e50f9b201ed9aac903db67fcc8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432947,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0N30.MOLAOsdrejLLIoGV5Ikp_pW_7XKyxSuJVPABPosR3uo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6b7ff4e50f9b201ed9aac903db67fcc8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:45.547352535Z"}]},"request_id":"0cc6daa2-10f4-40e8-8f74-fece818a4d23","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432947.9861124} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6b7ff4e50f9b201ed9aac903db67fcc8","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6b7ff4e50f9b201ed9aac903db67fcc8"} gateway-1 | {"time_local":"05/May/2025:08:15:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6b7ff4e50f9b201ed9aac903db67fcc8"} device-1 | {"level":"info","message":"GET /devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d? 200 19ms","method":"GET","requestID":"6b7ff4e50f9b201ed9aac903db67fcc8","responseTime":19,"status":200,"url":"/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0OH0.TGMxjLPNlqXiwt4IOd1K5VhGWoYV3pYLcHIr7ULBy64","level":"info","message":"auth send jwt","requestID":"3b0e42eef50eb7551e1e250eba7dddc6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3b0e42eef50eb7551e1e250eba7dddc6","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"3b0e42eef50eb7551e1e250eba7dddc6"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.938173,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3b0e42eef50eb7551e1e250eba7dddc6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432948,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0OH0.TGMxjLPNlqXiwt4IOd1K5VhGWoYV3pYLcHIr7ULBy64"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3b0e42eef50eb7551e1e250eba7dddc6","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324"},"level":"info","message":"Attempting to run experiment","requestID":"3b0e42eef50eb7551e1e250eba7dddc6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324"},"level":"info","message":"Attempting to book experiment","requestID":"3b0e42eef50eb7551e1e250eba7dddc6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324"},"level":"info","message":"Successfully booked experiment","requestID":"3b0e42eef50eb7551e1e250eba7dddc6"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"266d96e0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:48Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"266e0c10-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.916533,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"266d96e0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432948,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0OH0.TGMxjLPNlqXiwt4IOd1K5VhGWoYV3pYLcHIr7ULBy64"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"266d96e0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.038256,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"266e0c10-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432948,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0OH0.TGMxjLPNlqXiwt4IOd1K5VhGWoYV3pYLcHIr7ULBy64"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"266e0c10-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7db3f96b-24d1-4205-97fb-36a9d3c43660","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7db3f96b-24d1-4205-97fb-36a9d3c43660","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:45.454833806Z"}]},"request_id":"c22c64f6-3f16-4ac8-9a49-d6f93fa05a97","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432948.0550976} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"266d96e0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"266d96e0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:45.547352535Z"}]},"request_id":"02413e6d-c0ae-4faa-869e-41bb354b751f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432948.0602713} device-1 | {"level":"info","message":"GET /devices/7db3f96b-24d1-4205-97fb-36a9d3c43660? 200 14ms","method":"GET","requestID":"266d96e0-2989-11f0-8876-6f29f2a860cb","responseTime":14,"status":200,"url":"/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"266e0c10-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"266e0c10-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d? 200 14ms","method":"GET","requestID":"266e0c10-2989-11f0-8876-6f29f2a860cb","responseTime":14,"status":200,"url":"/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324"},"level":"info","message":"Setting up experiment","requestID":"3b0e42eef50eb7551e1e250eba7dddc6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"3b0e42eef50eb7551e1e250eba7dddc6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324"},"level":"info","message":"Successfully locked booking for experiment","requestID":"3b0e42eef50eb7551e1e250eba7dddc6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"3b0e42eef50eb7551e1e250eba7dddc6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"3b0e42eef50eb7551e1e250eba7dddc6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324"},"level":"info","message":"Attempting to update booking for experiment","requestID":"3b0e42eef50eb7551e1e250eba7dddc6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324"},"level":"info","message":"Successfully updated booking for experiment","requestID":"3b0e42eef50eb7551e1e250eba7dddc6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324"},"level":"info","message":"Successfully set up experiment","requestID":"3b0e42eef50eb7551e1e250eba7dddc6"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"26762260-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"26764970-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"26769790-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324"},"level":"info","message":"Successfully running experiment","requestID":"3b0e42eef50eb7551e1e250eba7dddc6"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"client_addr":"127.0.0.1:47744","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.64789,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60756","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60756","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.543621,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"26762260-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432948,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0OH0.TGMxjLPNlqXiwt4IOd1K5VhGWoYV3pYLcHIr7ULBy64"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"26762260-2989-11f0-8876-6f29f2a860cb","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"26764970-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432948,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0OH0.TGMxjLPNlqXiwt4IOd1K5VhGWoYV3pYLcHIr7ULBy64"} authorization-1 | {"level":"info","message":"POST /authorize 200 25ms","method":"POST","requestID":"26764970-2989-11f0-8876-6f29f2a860cb","responseTime":25,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:45.547352535Z"}]},"request_id":"6f18da69-3188-462f-8d15-1a252c8e9c9f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432948.1351435} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"26764970-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7db3f96b-24d1-4205-97fb-36a9d3c43660","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7db3f96b-24d1-4205-97fb-36a9d3c43660","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:45.454833806Z"}]},"request_id":"57beb3b2-1363-4697-be37-f963003a64b1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432948.1360946} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"26762260-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7db3f96b-24d1-4205-97fb-36a9d3c43660","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"985cf5c1-c5f6-41c9-b8ef-997e863e98de","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432948.1389816} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.216821,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:48Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"26764970-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d? 200 38ms","method":"GET","requestID":"26764970-2989-11f0-8876-6f29f2a860cb","responseTime":38,"status":200,"url":"/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"26769790-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"26769790-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"26762260-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/7db3f96b-24d1-4205-97fb-36a9d3c43660? 200 40ms","method":"GET","requestID":"26762260-2989-11f0-8876-6f29f2a860cb","responseTime":40,"status":200,"url":"/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"26769790-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff1cabaf5-3233-45c0-9b79-f7eb92bc3324#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff1cabaf5-3233-45c0-9b79-f7eb92bc3324","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"30354770-7d3b-4547-b38a-20757f1ee73e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432948.1457605} device-1 | {"level":"info","message":"POST /devices/7db3f96b-24d1-4205-97fb-36a9d3c43660/signaling 200 41ms","method":"POST","requestID":"26769790-2989-11f0-8876-6f29f2a860cb","responseTime":41,"status":200,"url":"/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a609962-30ed-4b7c-8d79-80448f8878e6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432948.1460736} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"3b0e42eef50eb7551e1e250eba7dddc6","responseTime":17,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"267d2740-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"267d4e50-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60756","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7db3f96b-24d1-4205-97fb-36a9d3c43660","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"97b52dbb-9899-4256-8334-e1872d56059a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432948.1526585} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.6983,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"267d2740-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"267d2740-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4689e662-69f6-4b5c-92f2-a4fa3168752c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432948.17822} authorization-1 | {"client_addr":"127.0.0.1:60756","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.672397,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:48Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"3b0e42eef50eb7551e1e250eba7dddc6"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"267d4e50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"05/May/2025:08:15:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.184","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3b0e42eef50eb7551e1e250eba7dddc6"} experiment-1 | {"level":"info","message":"POST /experiments? 201 178ms","method":"POST","requestID":"3b0e42eef50eb7551e1e250eba7dddc6","responseTime":178,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"267d4e50-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"267d2740-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/7db3f96b-24d1-4205-97fb-36a9d3c43660/signaling 200 35ms","method":"POST","requestID":"267d2740-2989-11f0-8876-6f29f2a860cb","responseTime":35,"status":200,"url":"/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"267d4e50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d/signaling 200 35ms","method":"POST","requestID":"267d4e50-2989-11f0-8876-6f29f2a860cb","responseTime":35,"status":200,"url":"/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0OH0.TGMxjLPNlqXiwt4IOd1K5VhGWoYV3pYLcHIr7ULBy64","level":"info","message":"auth send jwt","requestID":"619c454850a5eddbd0ce15ee1d8c5c97"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2682f3a0-2989-11f0-8876-6f29f2a860cb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"619c454850a5eddbd0ce15ee1d8c5c97","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"619c454850a5eddbd0ce15ee1d8c5c97"} authorization-1 | {"client_addr":"127.0.0.1:60756","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27dd94b3-4961-4927-be7a-157013ce5639","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432948.1904736} authorization-1 | {"client_addr":"127.0.0.1:60756","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.739739,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.705868,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2682f3a0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2682f3a0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"619c454850a5eddbd0ce15ee1d8c5c97","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432948,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0OH0.TGMxjLPNlqXiwt4IOd1K5VhGWoYV3pYLcHIr7ULBy64"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"619c454850a5eddbd0ce15ee1d8c5c97","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2682f3a0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d/signaling 200 9ms","method":"POST","requestID":"2682f3a0-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7db3f96b-24d1-4205-97fb-36a9d3c43660","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7db3f96b-24d1-4205-97fb-36a9d3c43660","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:45.454833806Z"}]},"request_id":"c85059dd-868c-4fd4-a8ac-a073babc3b2c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432948.1960533} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"3b0e42eef50eb7551e1e250eba7dddc6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324"},"level":"info","message":"Building connection plan","requestID":"3b0e42eef50eb7551e1e250eba7dddc6"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"4bb4cfca-ecc7-47c5-a930-29069e963f4c"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"723dc56f-da53-4559-a1a2-1be111b0a00d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"53d4ab41-734f-4d03-96e9-577f96811d38"}]},"level":"info","message":"Built pairwise service configurations","requestID":"3b0e42eef50eb7551e1e250eba7dddc6"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"619c454850a5eddbd0ce15ee1d8c5c97","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"3b0e42eef50eb7551e1e250eba7dddc6"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"2684ef70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"619c454850a5eddbd0ce15ee1d8c5c97"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.026921,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:48Z"} device-1 | {"level":"info","message":"GET /devices/7db3f96b-24d1-4205-97fb-36a9d3c43660? 200 41ms","method":"GET","requestID":"619c454850a5eddbd0ce15ee1d8c5c97","responseTime":41,"status":200,"url":"/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660?"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2684ef70-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432948,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0OH0.TGMxjLPNlqXiwt4IOd1K5VhGWoYV3pYLcHIr7ULBy64"} gateway-1 | {"time_local":"05/May/2025:08:15:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7db3f96b-24d1-4205-97fb-36a9d3c43660? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"619c454850a5eddbd0ce15ee1d8c5c97"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2684ef70-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0OH0.TGMxjLPNlqXiwt4IOd1K5VhGWoYV3pYLcHIr7ULBy64","level":"info","message":"auth send jwt","requestID":"44a6c3cdb8b20241f7c199d3640aed1f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"44a6c3cdb8b20241f7c199d3640aed1f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"44a6c3cdb8b20241f7c199d3640aed1f"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.596352,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"44a6c3cdb8b20241f7c199d3640aed1f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432948,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk0OH0.TGMxjLPNlqXiwt4IOd1K5VhGWoYV3pYLcHIr7ULBy64"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"44a6c3cdb8b20241f7c199d3640aed1f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"01b3a912-5c0b-4abd-9650-54f685a64381","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432948.2394655} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"84a6e14e-f7d4-4a63-9e9a-fa83e0a3a2ed","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432948.239697} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"2684ef70-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:45.547352535Z"}]},"request_id":"a6d9c7c1-41c0-44db-8ef5-1092b945df1d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432948.2427385} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"44a6c3cdb8b20241f7c199d3640aed1f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"44a6c3cdb8b20241f7c199d3640aed1f"} gateway-1 | {"time_local":"05/May/2025:08:15:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"44a6c3cdb8b20241f7c199d3640aed1f"} device-1 | {"level":"info","message":"GET /devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d? 200 48ms","method":"GET","requestID":"44a6c3cdb8b20241f7c199d3640aed1f","responseTime":48,"status":200,"url":"/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"2684ef70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"2684ef70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/3732a716-0e49-4747-994d-d08157f684e4'","requestID":"2684ef70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3732a716-0e49-4747-994d-d08157f684e4'","requestID":"2684ef70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"2684ef70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 83ms","method":"POST","requestID":"2684ef70-2989-11f0-8876-6f29f2a860cb","responseTime":83,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"2684ef70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/3732a716-0e49-4747-994d-d08157f684e4","device":"7db3f96b-24d1-4205-97fb-36a9d3c43660","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"3b0e42eef50eb7551e1e250eba7dddc6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2698eca0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7db3f96b-24d1-4205-97fb-36a9d3c43660","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e0937494-db48-4f3e-a598-fc6b4d131e4d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432948.334877} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.233158,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2698eca0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2698eca0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2698eca0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/7db3f96b-24d1-4205-97fb-36a9d3c43660/signaling 200 8ms","method":"POST","requestID":"2698eca0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"269a7340-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:48Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b012ff2b-1e14-438b-b701-da73ac882d4e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432948.369458} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.08333,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:48Z"} device-1 | {"device":"7db3f96b-24d1-4205-97fb-36a9d3c43660","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"7db3f96b-24d1-4205-97fb-36a9d3c43660","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"269a7340-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"269a7340-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 6230456341639836456 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:M/wT\r\na=ice-pwd:XnRNPGBJXPrmfMtfXOOn9Wkn\r\na=ice-options:trickle\r\na=fingerprint:sha-256 1B:E1:C3:72:8D:6D:D6:C2:46:97:92:1E:2C:B3:74:04:3D:93:FE:C2:FD:A3:D4:39:9C:5C:77:1E:85:22:28:C9\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"7db3f96b-24d1-4205-97fb-36a9d3c43660","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"269a7340-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d/signaling 200 39ms","method":"POST","requestID":"269a7340-2989-11f0-8876-6f29f2a860cb","responseTime":39,"status":200,"url":"/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d/signaling"} device-1 | {"device":"7db3f96b-24d1-4205-97fb-36a9d3c43660","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"3732a716-0e49-4747-994d-d08157f684e4","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3732a716-0e49-4747-994d-d08157f684e4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3732a716-0e49-4747-994d-d08157f684e4","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b3e6a3bab0805b843daf1997fc526243","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b3e6a3bab0805b843daf1997fc526243","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3732a716-0e49-4747-994d-d08157f684e4"}}},"level":"info","message":"received a callback","requestID":"b3e6a3bab0805b843daf1997fc526243"} device-1 | {"content":{"candidate":"candidate:4059293834 1 udp 2113937151 09b8659a-ace0-41c6-9da5-15c7661fee25.local 37329 typ host generation 0 ufrag M/wT network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7db3f96b-24d1-4205-97fb-36a9d3c43660","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"7db3f96b-24d1-4205-97fb-36a9d3c43660","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"b3e6a3bab0805b843daf1997fc526243","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:15:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"b3e6a3bab0805b843daf1997fc526243"} device-1 | {"device":"aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7db3f96b-24d1-4205-97fb-36a9d3c43660","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"3732a716-0e49-4747-994d-d08157f684e4","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"3732a716-0e49-4747-994d-d08157f684e4","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3732a716-0e49-4747-994d-d08157f684e4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3732a716-0e49-4747-994d-d08157f684e4","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e08617db9900ab23425784b8741a7729","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e08617db9900ab23425784b8741a7729","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3732a716-0e49-4747-994d-d08157f684e4"}}},"level":"info","message":"received a callback","requestID":"e08617db9900ab23425784b8741a7729"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"27d5b260-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:50Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3732a716-0e49-4747-994d-d08157f684e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fdc03f28-88dd-44a5-b125-3227923d6199","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432950.410729} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.033071,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3732a716-0e49-4747-994d-d08157f684e4","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"27d5b260-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3732a716-0e49-4747-994d-d08157f684e4","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"27d5b260-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1MH0.cWDlchaipC9JSyyWVYYukvL1E5Y30HP9zSS_LSMlH7o","level":"info","message":"auth send jwt","requestID":"89447d049642cdb34047e1a4e1ff8daa"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"89447d049642cdb34047e1a4e1ff8daa","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324","requestID":"89447d049642cdb34047e1a4e1ff8daa"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.604229,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"89447d049642cdb34047e1a4e1ff8daa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432950,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1MH0.cWDlchaipC9JSyyWVYYukvL1E5Y30HP9zSS_LSMlH7o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"89447d049642cdb34047e1a4e1ff8daa","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324","requestID":"89447d049642cdb34047e1a4e1ff8daa"} gateway-1 | {"time_local":"05/May/2025:08:15:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"89447d049642cdb34047e1a4e1ff8daa"} experiment-1 | {"level":"info","message":"GET /experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324 200 11ms","method":"GET","requestID":"89447d049642cdb34047e1a4e1ff8daa","responseTime":11,"status":200,"url":"/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"27d5b260-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/3732a716-0e49-4747-994d-d08157f684e4 200 144ms","method":"GET","requestID":"27d5b260-2989-11f0-8876-6f29f2a860cb","responseTime":144,"status":200,"url":"/peerconnections/3732a716-0e49-4747-994d-d08157f684e4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1MH0.cWDlchaipC9JSyyWVYYukvL1E5Y30HP9zSS_LSMlH7o","level":"info","message":"auth send jwt","requestID":"2c48b37f722c5a8b645294a39be688ce"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2c48b37f722c5a8b645294a39be688ce","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324","requestID":"2c48b37f722c5a8b645294a39be688ce"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.619295,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2c48b37f722c5a8b645294a39be688ce","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432950,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1MH0.cWDlchaipC9JSyyWVYYukvL1E5Y30HP9zSS_LSMlH7o"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"2c48b37f722c5a8b645294a39be688ce","responseTime":10,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 321ms","method":"POST","requestID":"e08617db9900ab23425784b8741a7729","responseTime":321,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:15:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.325","http_referrer":"","http_user_agent":"node-fetch","requestID":"e08617db9900ab23425784b8741a7729"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"28065f50-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:50Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324","requestID":"2c48b37f722c5a8b645294a39be688ce"} gateway-1 | {"time_local":"05/May/2025:08:15:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c48b37f722c5a8b645294a39be688ce"} experiment-1 | {"level":"info","message":"GET /experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324 200 175ms","method":"GET","requestID":"2c48b37f722c5a8b645294a39be688ce","responseTime":175,"status":200,"url":"/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d3dff74-3bb7-4bb1-ad87-a60e9532439b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432950.7333307} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.535006,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"28065f50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"28065f50-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1MH0.cWDlchaipC9JSyyWVYYukvL1E5Y30HP9zSS_LSMlH7o","level":"info","message":"auth send jwt","requestID":"6c7e597d6dc6edc0188256bc6d90f1e5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6c7e597d6dc6edc0188256bc6d90f1e5","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324","requestID":"6c7e597d6dc6edc0188256bc6d90f1e5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"28065f50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d/signaling 200 17ms","method":"POST","requestID":"28065f50-2989-11f0-8876-6f29f2a860cb","responseTime":17,"status":200,"url":"/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.900907,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:50Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"280993a0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6c7e597d6dc6edc0188256bc6d90f1e5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432950,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1MH0.cWDlchaipC9JSyyWVYYukvL1E5Y30HP9zSS_LSMlH7o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6c7e597d6dc6edc0188256bc6d90f1e5","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:50Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7db3f96b-24d1-4205-97fb-36a9d3c43660","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bdd28dba-e935-43b7-9c70-c8e2a4baf1a0","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432950.749979} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.432953,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:50Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324"},"level":"info","message":"Attempting to finish experiment","requestID":"6c7e597d6dc6edc0188256bc6d90f1e5"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"280993a0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"280993a0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"280a7e00-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.877646,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:50Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"280993a0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3732a716-0e49-4747-994d-d08157f684e4","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"280a7e00-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/3732a716-0e49-4747-994d-d08157f684e4","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432950,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1MH0.cWDlchaipC9JSyyWVYYukvL1E5Y30HP9zSS_LSMlH7o"} device-1 | {"level":"info","message":"POST /devices/7db3f96b-24d1-4205-97fb-36a9d3c43660/signaling 200 10ms","method":"POST","requestID":"280993a0-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"280a7e00-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/3732a716-0e49-4747-994d-d08157f684e4","device":"7db3f96b-24d1-4205-97fb-36a9d3c43660","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3732a716-0e49-4747-994d-d08157f684e4' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3732a716-0e49-4747-994d-d08157f684e4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3732a716-0e49-4747-994d-d08157f684e4","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3732a716-0e49-4747-994d-d08157f684e4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3732a716-0e49-4747-994d-d08157f684e4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"b9cbbbc8-e3a2-4ce6-9ce9-fc25b9fd3f0e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432950.7663977} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"78120253-7cfa-4754-9a67-709368e5a546","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432950.7667532} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"35158cf468d6604b1fadcaeb8fe47a12","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"35158cf468d6604b1fadcaeb8fe47a12","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"280a7e00-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f19b1a9bff756854ef9b17e499231ab6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f19b1a9bff756854ef9b17e499231ab6","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3732a716-0e49-4747-994d-d08157f684e4"}}},"level":"info","message":"received a callback","requestID":"35158cf468d6604b1fadcaeb8fe47a12"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3732a716-0e49-4747-994d-d08157f684e4"}}},"level":"info","message":"received a callback","requestID":"f19b1a9bff756854ef9b17e499231ab6"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"280a7e00-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/3732a716-0e49-4747-994d-d08157f684e4 204 317ms","method":"DELETE","requestID":"280a7e00-2989-11f0-8876-6f29f2a860cb","responseTime":317,"status":204,"url":"/peerconnections/3732a716-0e49-4747-994d-d08157f684e4"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324"},"level":"info","message":"Successfully finished experiment","requestID":"6c7e597d6dc6edc0188256bc6d90f1e5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"28408220-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:51Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fa123fae-0786-4d5b-8c0f-26f6970e600b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432951.110607} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.357014,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"28408220-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"28408220-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"28408220-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d/signaling 200 9ms","method":"POST","requestID":"28408220-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"28422fd0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff1cabaf5-3233-45c0-9b79-f7eb92bc3324': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff1cabaf5-3233-45c0-9b79-f7eb92bc3324","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"4a6b2ce8-bc35-4381-9fd5-0a1bcf4bf03e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432951.118796} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"82bccd24-65aa-40c1-bf59-d9dd57eb817e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432951.1189947} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"6c7e597d6dc6edc0188256bc6d90f1e5","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:51Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7db3f96b-24d1-4205-97fb-36a9d3c43660","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c48623f2-7a80-4ead-a665-ad54517cc371","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432951.122252} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.984204,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"28422fd0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"28422fd0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"28422fd0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/7db3f96b-24d1-4205-97fb-36a9d3c43660/signaling 200 10ms","method":"POST","requestID":"28422fd0-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324","requestID":"6c7e597d6dc6edc0188256bc6d90f1e5"} gateway-1 | {"time_local":"05/May/2025:08:15:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.436","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6c7e597d6dc6edc0188256bc6d90f1e5"} experiment-1 | {"level":"info","message":"DELETE /experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324 204 431ms","method":"DELETE","requestID":"6c7e597d6dc6edc0188256bc6d90f1e5","responseTime":431,"status":204,"url":"/experiments/f1cabaf5-3233-45c0-9b79-f7eb92bc3324"} gateway-1 | {"time_local":"05/May/2025:08:15:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"4.578","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"c828bd9bf29b67b30df54638955f6f5b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 404ms","method":"POST","requestID":"35158cf468d6604b1fadcaeb8fe47a12","responseTime":404,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:15:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.408","http_referrer":"","http_user_agent":"node-fetch","requestID":"35158cf468d6604b1fadcaeb8fe47a12"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 403ms","method":"POST","requestID":"f19b1a9bff756854ef9b17e499231ab6","responseTime":403,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:15:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.407","http_referrer":"","http_user_agent":"node-fetch","requestID":"f19b1a9bff756854ef9b17e499231ab6"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/aeaad2a9-3f3e-444e-8a84-c9c5d4b0e22d' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1MX0.gSWwSFkJUW8LXH5Jwmlf9Huuy1sjou7BJ2tllb8RBns","level":"info","message":"auth send jwt","requestID":"4f9145837273233a5bb8466d7c60269c"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"4f9145837273233a5bb8466d7c60269c","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4f9145837273233a5bb8466d7c60269c"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:51Z"} gateway-1 | {"time_local":"05/May/2025:08:15:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2543","request_time":"3.267","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"aaab9c04b165cca7ebf6633b7a1b516d"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.822401,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:51Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7db3f96b-24d1-4205-97fb-36a9d3c43660' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4f9145837273233a5bb8466d7c60269c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432951,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1MX0.gSWwSFkJUW8LXH5Jwmlf9Huuy1sjou7BJ2tllb8RBns"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4f9145837273233a5bb8466d7c60269c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a59c6658-d782-4d3a-b893-5f430da0328c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432951.2221565} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4f9145837273233a5bb8466d7c60269c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"02fd7193-821c-48fd-8490-d9dc4390f1dd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432951.2512279} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"4f9145837273233a5bb8466d7c60269c","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"31650a6c-3df8-4a38-b78e-424c3c070c0d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432951.2622652} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d0903ac1-bae3-4630-9aab-aa0a79bf4b91","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432951.2623937} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"4f9145837273233a5bb8466d7c60269c","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:51.262249363Z"}]},"request_id":"5b064a85-6e88-4490-8465-258aeffe57ad","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432951.266955} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4f9145837273233a5bb8466d7c60269c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4f9145837273233a5bb8466d7c60269c"} gateway-1 | {"time_local":"05/May/2025:08:15:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4f9145837273233a5bb8466d7c60269c"} device-1 | {"level":"info","message":"POST /devices? 201 65ms","method":"POST","requestID":"4f9145837273233a5bb8466d7c60269c","responseTime":65,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1MX0.gSWwSFkJUW8LXH5Jwmlf9Huuy1sjou7BJ2tllb8RBns","level":"info","message":"auth send jwt","requestID":"0e2d82c552b9228dc6243a70974b2b68"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"0e2d82c552b9228dc6243a70974b2b68","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0e2d82c552b9228dc6243a70974b2b68"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:51Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.691097,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"0e2d82c552b9228dc6243a70974b2b68","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432951,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1MX0.gSWwSFkJUW8LXH5Jwmlf9Huuy1sjou7BJ2tllb8RBns"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0e2d82c552b9228dc6243a70974b2b68","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa39799d0-5532-4789-b750-0cf5b62d1ea1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d1a419e5-5044-4990-8caa-e18dde44abfd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432951.321132} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0e2d82c552b9228dc6243a70974b2b68","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"15eb2dd9-a55b-403e-b5a0-037ce8a65eb3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432951.350415} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"0e2d82c552b9228dc6243a70974b2b68","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa39799d0-5532-4789-b750-0cf5b62d1ea1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"86be0961-d24d-43b8-af9d-cc114cc5cb6c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432951.3630366} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2f5011fc-4e70-4801-8c9c-6da753007326","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432951.3631573} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"0e2d82c552b9228dc6243a70974b2b68","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa39799d0-5532-4789-b750-0cf5b62d1ea1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa39799d0-5532-4789-b750-0cf5b62d1ea1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:51.363024357Z"}]},"request_id":"7642ff74-3e99-44f1-857d-7e4fbc0b19fc","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432951.3675976} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0e2d82c552b9228dc6243a70974b2b68","responseTime":2,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"05/May/2025:08:15:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.123","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e2d82c552b9228dc6243a70974b2b68"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0e2d82c552b9228dc6243a70974b2b68"} device-1 | {"level":"info","message":"POST /devices? 201 95ms","method":"POST","requestID":"0e2d82c552b9228dc6243a70974b2b68","responseTime":95,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1Mn0.rdNPlFHG-tQw-W_p3IvpQbhIhQqDfUOOpKeQorqMXT4","level":"info","message":"auth send jwt","requestID":"138f20c847fd6d7c4d1de4c1a605b8bc"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"138f20c847fd6d7c4d1de4c1a605b8bc","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"138f20c847fd6d7c4d1de4c1a605b8bc"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:52Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658049,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"138f20c847fd6d7c4d1de4c1a605b8bc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432952,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1Mn0.rdNPlFHG-tQw-W_p3IvpQbhIhQqDfUOOpKeQorqMXT4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"138f20c847fd6d7c4d1de4c1a605b8bc","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:51.262249363Z"}]},"request_id":"4b066282-6233-4a3c-bf17-8f2578194671","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432952.2713723} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"138f20c847fd6d7c4d1de4c1a605b8bc","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b4a17233-6a46-4b02-8120-894aa24f5338","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432952.2764213} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"138f20c847fd6d7c4d1de4c1a605b8bc","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:51.262249363Z"}]},"request_id":"2f710162-48b4-4abc-ac2e-953ff64b4707","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432952.3530035} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"138f20c847fd6d7c4d1de4c1a605b8bc","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"138f20c847fd6d7c4d1de4c1a605b8bc"} device-1 | {"level":"info","message":"PATCH /devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2 200 93ms","method":"PATCH","requestID":"138f20c847fd6d7c4d1de4c1a605b8bc","responseTime":93,"status":200,"url":"/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2"} gateway-1 | {"time_local":"05/May/2025:08:15:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.097","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"138f20c847fd6d7c4d1de4c1a605b8bc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1Mn0.rdNPlFHG-tQw-W_p3IvpQbhIhQqDfUOOpKeQorqMXT4","level":"info","message":"auth send jwt","requestID":"56d80df73999b8772f58bf08dff3e49f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"56d80df73999b8772f58bf08dff3e49f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"56d80df73999b8772f58bf08dff3e49f"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:52Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.432909,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"56d80df73999b8772f58bf08dff3e49f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432952,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1Mn0.rdNPlFHG-tQw-W_p3IvpQbhIhQqDfUOOpKeQorqMXT4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"56d80df73999b8772f58bf08dff3e49f","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"56d80df73999b8772f58bf08dff3e49f"} gateway-1 | {"time_local":"05/May/2025:08:15:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"56d80df73999b8772f58bf08dff3e49f"} device-1 | {"level":"info","message":"POST /devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2/websocket 200 16ms","method":"POST","requestID":"56d80df73999b8772f58bf08dff3e49f","responseTime":16,"status":200,"url":"/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9d30ba9846968460628312ec3a3bf437","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9d30ba9846968460628312ec3a3bf437","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a39799d0-5532-4789-b750-0cf5b62d1ea1/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9d30ba9846968460628312ec3a3bf437"} device-1 | {"level":"info","message":"OPTIONS /devices/a39799d0-5532-4789-b750-0cf5b62d1ea1/websocket 200 1ms","method":"OPTIONS","requestID":"9d30ba9846968460628312ec3a3bf437","responseTime":1,"status":200,"url":"/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1M30.fJMi9CVOdDDQ12UVBDgBMt1bgUE5I_AebJIju0BzqNY","level":"info","message":"auth send jwt","requestID":"92887329d3d0644c3df42043af6a184a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"92887329d3d0644c3df42043af6a184a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"92887329d3d0644c3df42043af6a184a"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.161395,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"92887329d3d0644c3df42043af6a184a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432953,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1M30.fJMi9CVOdDDQ12UVBDgBMt1bgUE5I_AebJIju0BzqNY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"92887329d3d0644c3df42043af6a184a","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"92887329d3d0644c3df42043af6a184a"} gateway-1 | {"time_local":"05/May/2025:08:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a39799d0-5532-4789-b750-0cf5b62d1ea1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"92887329d3d0644c3df42043af6a184a"} device-1 | {"level":"info","message":"POST /devices/a39799d0-5532-4789-b750-0cf5b62d1ea1/websocket 200 23ms","method":"POST","requestID":"92887329d3d0644c3df42043af6a184a","responseTime":23,"status":200,"url":"/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1M30.fJMi9CVOdDDQ12UVBDgBMt1bgUE5I_AebJIju0BzqNY","level":"info","message":"auth send jwt","requestID":"bd9317577627823dc16292ac48316a30"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bd9317577627823dc16292ac48316a30","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bd9317577627823dc16292ac48316a30"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.700809,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"bd9317577627823dc16292ac48316a30","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432953,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1M30.fJMi9CVOdDDQ12UVBDgBMt1bgUE5I_AebJIju0BzqNY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bd9317577627823dc16292ac48316a30","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:51.262249363Z"}]},"request_id":"e4535db4-85fd-41f8-803d-800ecce813d4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432953.767503} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bd9317577627823dc16292ac48316a30","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bd9317577627823dc16292ac48316a30"} gateway-1 | {"time_local":"05/May/2025:08:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd9317577627823dc16292ac48316a30"} device-1 | {"level":"info","message":"GET /devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2? 200 16ms","method":"GET","requestID":"bd9317577627823dc16292ac48316a30","responseTime":16,"status":200,"url":"/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1M30.fJMi9CVOdDDQ12UVBDgBMt1bgUE5I_AebJIju0BzqNY","level":"info","message":"auth send jwt","requestID":"e566479e21af2fad403d9a1a23f0a390"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e566479e21af2fad403d9a1a23f0a390","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e566479e21af2fad403d9a1a23f0a390"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.65145,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"e566479e21af2fad403d9a1a23f0a390","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432953,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1M30.fJMi9CVOdDDQ12UVBDgBMt1bgUE5I_AebJIju0BzqNY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e566479e21af2fad403d9a1a23f0a390","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa39799d0-5532-4789-b750-0cf5b62d1ea1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa39799d0-5532-4789-b750-0cf5b62d1ea1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:51.363024357Z"}]},"request_id":"fb14abe2-1ba3-4e63-b2b2-4008e0a82e4d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432953.784666} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e566479e21af2fad403d9a1a23f0a390","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e566479e21af2fad403d9a1a23f0a390"} gateway-1 | {"time_local":"05/May/2025:08:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a39799d0-5532-4789-b750-0cf5b62d1ea1? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e566479e21af2fad403d9a1a23f0a390"} device-1 | {"level":"info","message":"GET /devices/a39799d0-5532-4789-b750-0cf5b62d1ea1? 200 10ms","method":"GET","requestID":"e566479e21af2fad403d9a1a23f0a390","responseTime":10,"status":200,"url":"/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1M30.fJMi9CVOdDDQ12UVBDgBMt1bgUE5I_AebJIju0BzqNY","level":"info","message":"auth send jwt","requestID":"4847e850b9d9a916dd4d483b83e96262"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4847e850b9d9a916dd4d483b83e96262","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"4847e850b9d9a916dd4d483b83e96262"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.727053,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4847e850b9d9a916dd4d483b83e96262","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432953,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1M30.fJMi9CVOdDDQ12UVBDgBMt1bgUE5I_AebJIju0BzqNY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4847e850b9d9a916dd4d483b83e96262","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80c85dad-567c-4582-a06e-8a170de66afa"},"level":"info","message":"Attempting to run experiment","requestID":"4847e850b9d9a916dd4d483b83e96262"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80c85dad-567c-4582-a06e-8a170de66afa"},"level":"info","message":"Attempting to book experiment","requestID":"4847e850b9d9a916dd4d483b83e96262"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80c85dad-567c-4582-a06e-8a170de66afa"},"level":"info","message":"Successfully booked experiment","requestID":"4847e850b9d9a916dd4d483b83e96262"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"29e55880-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"29e5a6a0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.652308,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"29e55880-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432953,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1M30.fJMi9CVOdDDQ12UVBDgBMt1bgUE5I_AebJIju0BzqNY"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"29e55880-2989-11f0-8876-6f29f2a860cb","responseTime":24,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.302785,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"29e5a6a0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432953,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1M30.fJMi9CVOdDDQ12UVBDgBMt1bgUE5I_AebJIju0BzqNY"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"29e5a6a0-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:51.262249363Z"}]},"request_id":"99bb84ad-935d-440e-adc6-cdf8485f36cd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432953.8945582} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"29e55880-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa39799d0-5532-4789-b750-0cf5b62d1ea1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa39799d0-5532-4789-b750-0cf5b62d1ea1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:51.363024357Z"}]},"request_id":"92230565-bb3a-40bc-9afb-296b8cf89a3d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432953.8994658} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"29e5a6a0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"29e55880-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2? 200 39ms","method":"GET","requestID":"29e55880-2989-11f0-8876-6f29f2a860cb","responseTime":39,"status":200,"url":"/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"29e5a6a0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/a39799d0-5532-4789-b750-0cf5b62d1ea1? 200 40ms","method":"GET","requestID":"29e5a6a0-2989-11f0-8876-6f29f2a860cb","responseTime":40,"status":200,"url":"/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80c85dad-567c-4582-a06e-8a170de66afa"},"level":"info","message":"Setting up experiment","requestID":"4847e850b9d9a916dd4d483b83e96262"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80c85dad-567c-4582-a06e-8a170de66afa"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"4847e850b9d9a916dd4d483b83e96262"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80c85dad-567c-4582-a06e-8a170de66afa"},"level":"info","message":"Successfully locked booking for experiment","requestID":"4847e850b9d9a916dd4d483b83e96262"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80c85dad-567c-4582-a06e-8a170de66afa"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"4847e850b9d9a916dd4d483b83e96262"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80c85dad-567c-4582-a06e-8a170de66afa"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"4847e850b9d9a916dd4d483b83e96262"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80c85dad-567c-4582-a06e-8a170de66afa"},"level":"info","message":"Attempting to update booking for experiment","requestID":"4847e850b9d9a916dd4d483b83e96262"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80c85dad-567c-4582-a06e-8a170de66afa"},"level":"info","message":"Successfully updated booking for experiment","requestID":"4847e850b9d9a916dd4d483b83e96262"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80c85dad-567c-4582-a06e-8a170de66afa"},"level":"info","message":"Successfully set up experiment","requestID":"4847e850b9d9a916dd4d483b83e96262"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"29f90790-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"29f92ea0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"29f97cc0-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80c85dad-567c-4582-a06e-8a170de66afa"},"level":"info","message":"Successfully running experiment","requestID":"4847e850b9d9a916dd4d483b83e96262"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.764002,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"29f90790-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432953,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1M30.fJMi9CVOdDDQ12UVBDgBMt1bgUE5I_AebJIju0BzqNY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"29f90790-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.652638,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"29f92ea0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432953,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1M30.fJMi9CVOdDDQ12UVBDgBMt1bgUE5I_AebJIju0BzqNY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"29f92ea0-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:54Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:51.262249363Z"}]},"request_id":"c08caa45-0835-4bd0-91c0-f25c89a4a8f6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432954.0056467} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"29f90790-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa39799d0-5532-4789-b750-0cf5b62d1ea1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa39799d0-5532-4789-b750-0cf5b62d1ea1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:51.363024357Z"}]},"request_id":"aae8bfe8-973a-46b3-90ae-04e4ef07987e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432954.0073748} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1c9c935b-fc4b-48fb-a4a2-928d914dcaf2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432954.0075498} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"29f90790-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"29f92ea0-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.767475,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"29f97cc0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","method":"POST","requestID":"29f97cc0-2989-11f0-8876-6f29f2a860cb","responseTime":36,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2? 200 44ms","method":"GET","requestID":"29f90790-2989-11f0-8876-6f29f2a860cb","responseTime":44,"status":200,"url":"/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"29f92ea0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F80c85dad-567c-4582-a06e-8a170de66afa#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F80c85dad-567c-4582-a06e-8a170de66afa","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"fac46ecc-e930-4bd1-8cc2-01e14beb3da2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432954.0366814} device-1 | {"level":"info","message":"GET /devices/a39799d0-5532-4789-b750-0cf5b62d1ea1? 200 44ms","method":"GET","requestID":"29f92ea0-2989-11f0-8876-6f29f2a860cb","responseTime":44,"status":200,"url":"/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"271ca14e-9caf-45f8-8526-d1886b028517","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432954.0372272} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"29f97cc0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2/signaling 200 44ms","method":"POST","requestID":"29f97cc0-2989-11f0-8876-6f29f2a860cb","responseTime":44,"status":200,"url":"/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"4847e850b9d9a916dd4d483b83e96262","responseTime":40,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2a005a90-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2a0081a0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:54Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:54Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"36a21f96-f895-43aa-990b-f1b9cb08e6d1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432954.0453703} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.446857,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2a005a90-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2a005a90-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa39799d0-5532-4789-b750-0cf5b62d1ea1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae0d1513-ed69-47f6-aae0-aa853c375a3c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432954.047962} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.692796,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:54Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/80c85dad-567c-4582-a06e-8a170de66afa","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"4847e850b9d9a916dd4d483b83e96262"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2a0081a0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"level":"info","message":"POST /experiments? 201 254ms","method":"POST","requestID":"4847e850b9d9a916dd4d483b83e96262","responseTime":254,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"05/May/2025:08:15:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.259","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4847e850b9d9a916dd4d483b83e96262"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"2a0081a0-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2a005a90-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2/signaling 200 12ms","method":"POST","requestID":"2a005a90-2989-11f0-8876-6f29f2a860cb","responseTime":12,"status":200,"url":"/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1NH0.nbxIAHbEwPdeeZXDje1DrIOnN98gmBnLY0rkV5RU1HI","level":"info","message":"auth send jwt","requestID":"0b1a508fe885bd2e46fde77b3fb48493"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2a0081a0-2989-11f0-8876-6f29f2a860cb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0b1a508fe885bd2e46fde77b3fb48493","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/a39799d0-5532-4789-b750-0cf5b62d1ea1/signaling 200 12ms","method":"POST","requestID":"2a0081a0-2989-11f0-8876-6f29f2a860cb","responseTime":12,"status":200,"url":"/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0b1a508fe885bd2e46fde77b3fb48493"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2a02a480-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:54Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.947829,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:54Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"0b1a508fe885bd2e46fde77b3fb48493","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432954,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1NH0.nbxIAHbEwPdeeZXDje1DrIOnN98gmBnLY0rkV5RU1HI"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"0b1a508fe885bd2e46fde77b3fb48493","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa39799d0-5532-4789-b750-0cf5b62d1ea1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"93aebf3e-6477-43d6-b43a-4ebe25f96db3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432954.0848494} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.529951,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2a02a480-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2a02a480-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:51.262249363Z"}]},"request_id":"cad4ee1b-900c-4eb1-acbf-a4c35513102b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432954.0883942} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2a02a480-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/a39799d0-5532-4789-b750-0cf5b62d1ea1/signaling 200 33ms","method":"POST","requestID":"2a02a480-2989-11f0-8876-6f29f2a860cb","responseTime":33,"status":200,"url":"/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0b1a508fe885bd2e46fde77b3fb48493","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80c85dad-567c-4582-a06e-8a170de66afa"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"4847e850b9d9a916dd4d483b83e96262"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80c85dad-567c-4582-a06e-8a170de66afa"},"level":"info","message":"Building connection plan","requestID":"4847e850b9d9a916dd4d483b83e96262"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"1bcf7f09-1ddf-4a26-9d40-1b14757ce4e4"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"3a4ca211-05bc-4467-b542-9fbcf267ace6"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"22582f10-d112-435a-a65e-61fe74a7f814"}]},"level":"info","message":"Built pairwise service configurations","requestID":"4847e850b9d9a916dd4d483b83e96262"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"4847e850b9d9a916dd4d483b83e96262"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0b1a508fe885bd2e46fde77b3fb48493"} gateway-1 | {"time_local":"05/May/2025:08:15:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b1a508fe885bd2e46fde77b3fb48493"} device-1 | {"level":"info","message":"GET /devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2? 200 36ms","method":"GET","requestID":"0b1a508fe885bd2e46fde77b3fb48493","responseTime":36,"status":200,"url":"/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"2a0822c0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:54Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.710333,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:54Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1NH0.nbxIAHbEwPdeeZXDje1DrIOnN98gmBnLY0rkV5RU1HI","level":"info","message":"auth send jwt","requestID":"81af8674bef95594892b0c1dcd173b39"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"81af8674bef95594892b0c1dcd173b39","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2a0822c0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432953,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1M30.fJMi9CVOdDDQ12UVBDgBMt1bgUE5I_AebJIju0BzqNY"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"81af8674bef95594892b0c1dcd173b39"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2a0822c0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:54Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.693202,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"81af8674bef95594892b0c1dcd173b39","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432954,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1NH0.nbxIAHbEwPdeeZXDje1DrIOnN98gmBnLY0rkV5RU1HI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"81af8674bef95594892b0c1dcd173b39","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa39799d0-5532-4789-b750-0cf5b62d1ea1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa39799d0-5532-4789-b750-0cf5b62d1ea1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:51.363024357Z"}]},"request_id":"3c26bddb-17b5-441d-9445-cb8996f00aba","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432954.1043935} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"81af8674bef95594892b0c1dcd173b39","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"c8630b6e-22f4-4230-9b63-fc11e0fbb141","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432954.1318095} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"81af8674bef95594892b0c1dcd173b39"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ead3bc59-82f2-40da-8cc0-7f188ed99642","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432954.1320107} gateway-1 | {"time_local":"05/May/2025:08:15:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a39799d0-5532-4789-b750-0cf5b62d1ea1? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"81af8674bef95594892b0c1dcd173b39"} device-1 | {"level":"info","message":"GET /devices/a39799d0-5532-4789-b750-0cf5b62d1ea1? 200 36ms","method":"GET","requestID":"81af8674bef95594892b0c1dcd173b39","responseTime":36,"status":200,"url":"/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"2a0822c0-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"2a0822c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"2a0822c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/296dd173-c806-40bb-bfdf-a14ec86414b6'","requestID":"2a0822c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/296dd173-c806-40bb-bfdf-a14ec86414b6'","requestID":"2a0822c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"2a0822c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 56ms","method":"POST","requestID":"2a0822c0-2989-11f0-8876-6f29f2a860cb","responseTime":56,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"2a0822c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/296dd173-c806-40bb-bfdf-a14ec86414b6","device":"a39799d0-5532-4789-b750-0cf5b62d1ea1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80c85dad-567c-4582-a06e-8a170de66afa"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"4847e850b9d9a916dd4d483b83e96262"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2a1cbc30-2989-11f0-8876-6f29f2a860cb"} device-1 | {"device":"a39799d0-5532-4789-b750-0cf5b62d1ea1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"a39799d0-5532-4789-b750-0cf5b62d1ea1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:54Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"323e0812-ab03-42c2-a35c-8d947abe4fdc","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432954.2319508} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.668075,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2a1cbc30-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2a1cbc30-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2a1cbc30-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2/signaling 200 8ms","method":"POST","requestID":"2a1cbc30-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2a1e42d0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:54Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa39799d0-5532-4789-b750-0cf5b62d1ea1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cebd92cf-ae76-436f-8fb9-ec2690365d9e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432954.2415576} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.176211,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2a1e42d0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2a1e42d0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2a1e42d0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/a39799d0-5532-4789-b750-0cf5b62d1ea1/signaling 200 8ms","method":"POST","requestID":"2a1e42d0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1/signaling"} device-1 | {"device":"86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"296dd173-c806-40bb-bfdf-a14ec86414b6","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 1210152312147233747 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:PFwo\r\na=ice-pwd:Xfo36R28sXC0KYU1SbyucSyt\r\na=ice-options:trickle\r\na=fingerprint:sha-256 9A:0F:2A:4D:32:36:BA:E2:01:80:EF:F0:F2:93:89:B0:83:55:32:B9:91:E0:70:AF:77:5C:00:BC:D7:0B:5E:76\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"a39799d0-5532-4789-b750-0cf5b62d1ea1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2836435255 1 udp 2113937151 28c5faa6-44ca-4f64-95e6-da588d2eba38.local 58858 typ host generation 0 ufrag PFwo network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a39799d0-5532-4789-b750-0cf5b62d1ea1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"a39799d0-5532-4789-b750-0cf5b62d1ea1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/296dd173-c806-40bb-bfdf-a14ec86414b6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"296dd173-c806-40bb-bfdf-a14ec86414b6","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3e122583b5f200bd57b225b3aa6b8f94","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3e122583b5f200bd57b225b3aa6b8f94","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/296dd173-c806-40bb-bfdf-a14ec86414b6"}}},"level":"info","message":"received a callback","requestID":"3e122583b5f200bd57b225b3aa6b8f94"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"3e122583b5f200bd57b225b3aa6b8f94","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:15:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.006","http_referrer":"","http_user_agent":"node-fetch","requestID":"3e122583b5f200bd57b225b3aa6b8f94"} device-1 | {"device":"a39799d0-5532-4789-b750-0cf5b62d1ea1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"296dd173-c806-40bb-bfdf-a14ec86414b6","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a39799d0-5532-4789-b750-0cf5b62d1ea1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"296dd173-c806-40bb-bfdf-a14ec86414b6","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a39799d0-5532-4789-b750-0cf5b62d1ea1","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/296dd173-c806-40bb-bfdf-a14ec86414b6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"296dd173-c806-40bb-bfdf-a14ec86414b6","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"253564ee10419fa37b1249d7135e461e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"253564ee10419fa37b1249d7135e461e","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/296dd173-c806-40bb-bfdf-a14ec86414b6"}}},"level":"info","message":"received a callback","requestID":"253564ee10419fa37b1249d7135e461e"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"2b5eb210-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:56Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F296dd173-c806-40bb-bfdf-a14ec86414b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"59f3cdf0-f08e-42b3-a7fd-6236b49c7278","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432956.3423703} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.806323,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/296dd173-c806-40bb-bfdf-a14ec86414b6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2b5eb210-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/296dd173-c806-40bb-bfdf-a14ec86414b6","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2b5eb210-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"2b5eb210-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/296dd173-c806-40bb-bfdf-a14ec86414b6 200 9ms","method":"GET","requestID":"2b5eb210-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/peerconnections/296dd173-c806-40bb-bfdf-a14ec86414b6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 76ms","method":"POST","requestID":"253564ee10419fa37b1249d7135e461e","responseTime":76,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:15:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.079","http_referrer":"","http_user_agent":"node-fetch","requestID":"253564ee10419fa37b1249d7135e461e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2b665330-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:56Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa39799d0-5532-4789-b750-0cf5b62d1ea1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"445450f5-70a0-490b-b26f-ff462fcb92f3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432956.3908682} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.17832,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2b665330-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2b665330-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2b665330-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/a39799d0-5532-4789-b750-0cf5b62d1ea1/signaling 200 8ms","method":"POST","requestID":"2b665330-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2b67d9d0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:56Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1Nn0.WU7jmHjFfQMEIvC-1j3NBoI5zpvLUUSeNr3GOntd-28","level":"info","message":"auth send jwt","requestID":"2137af2d38c98811cc0a8eff3d1b3026"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2137af2d38c98811cc0a8eff3d1b3026","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/80c85dad-567c-4582-a06e-8a170de66afa","requestID":"2137af2d38c98811cc0a8eff3d1b3026"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bf617214-d90c-4f0b-a606-8df527844aaf","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432956.4023974} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.153257,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:56Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2b67d9d0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"2b67d9d0-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.579404,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/80c85dad-567c-4582-a06e-8a170de66afa","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2137af2d38c98811cc0a8eff3d1b3026","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/80c85dad-567c-4582-a06e-8a170de66afa","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432956,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1Nn0.WU7jmHjFfQMEIvC-1j3NBoI5zpvLUUSeNr3GOntd-28"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2137af2d38c98811cc0a8eff3d1b3026","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2b67d9d0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2/signaling 200 10ms","method":"POST","requestID":"2b67d9d0-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/80c85dad-567c-4582-a06e-8a170de66afa","requestID":"2137af2d38c98811cc0a8eff3d1b3026"} gateway-1 | {"time_local":"05/May/2025:08:15:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/80c85dad-567c-4582-a06e-8a170de66afa HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2137af2d38c98811cc0a8eff3d1b3026"} experiment-1 | {"level":"info","message":"GET /experiments/80c85dad-567c-4582-a06e-8a170de66afa 200 36ms","method":"GET","requestID":"2137af2d38c98811cc0a8eff3d1b3026","responseTime":36,"status":200,"url":"/experiments/80c85dad-567c-4582-a06e-8a170de66afa"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1Nn0.WU7jmHjFfQMEIvC-1j3NBoI5zpvLUUSeNr3GOntd-28","level":"info","message":"auth send jwt","requestID":"c313e8b89ec364d5b1f835c300233448"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c313e8b89ec364d5b1f835c300233448","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/80c85dad-567c-4582-a06e-8a170de66afa","requestID":"c313e8b89ec364d5b1f835c300233448"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:56Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.669564,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/80c85dad-567c-4582-a06e-8a170de66afa","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"c313e8b89ec364d5b1f835c300233448","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/80c85dad-567c-4582-a06e-8a170de66afa","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432956,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1Nn0.WU7jmHjFfQMEIvC-1j3NBoI5zpvLUUSeNr3GOntd-28"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c313e8b89ec364d5b1f835c300233448","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80c85dad-567c-4582-a06e-8a170de66afa"},"level":"info","message":"Attempting to finish experiment","requestID":"c313e8b89ec364d5b1f835c300233448"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"2b6ff020-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:56Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.724349,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/296dd173-c806-40bb-bfdf-a14ec86414b6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2b6ff020-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/296dd173-c806-40bb-bfdf-a14ec86414b6","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432956,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1Nn0.WU7jmHjFfQMEIvC-1j3NBoI5zpvLUUSeNr3GOntd-28"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2b6ff020-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/296dd173-c806-40bb-bfdf-a14ec86414b6","device":"a39799d0-5532-4789-b750-0cf5b62d1ea1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/296dd173-c806-40bb-bfdf-a14ec86414b6' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/296dd173-c806-40bb-bfdf-a14ec86414b6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"296dd173-c806-40bb-bfdf-a14ec86414b6","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F296dd173-c806-40bb-bfdf-a14ec86414b6': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F296dd173-c806-40bb-bfdf-a14ec86414b6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"8b1dbdb6-a9a2-4da6-b8c3-39827142eeb8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432956.4895113} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bbd68f40-1650-46ea-a749-e5973783605e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432956.489808} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a7bdce622c9236d026cc3bb323aebea2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a7bdce622c9236d026cc3bb323aebea2","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"2b6ff020-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c03e1694723186d83d7dad77ab93ba1e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c03e1694723186d83d7dad77ab93ba1e","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/296dd173-c806-40bb-bfdf-a14ec86414b6"}}},"level":"info","message":"received a callback","requestID":"a7bdce622c9236d026cc3bb323aebea2"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/296dd173-c806-40bb-bfdf-a14ec86414b6"}}},"level":"info","message":"received a callback","requestID":"c03e1694723186d83d7dad77ab93ba1e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"2b6ff020-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/296dd173-c806-40bb-bfdf-a14ec86414b6 204 130ms","method":"DELETE","requestID":"2b6ff020-2989-11f0-8876-6f29f2a860cb","responseTime":130,"status":204,"url":"/peerconnections/296dd173-c806-40bb-bfdf-a14ec86414b6"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80c85dad-567c-4582-a06e-8a170de66afa"},"level":"info","message":"Successfully finished experiment","requestID":"c313e8b89ec364d5b1f835c300233448"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2b865e50-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:56Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2b865e50-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa39799d0-5532-4789-b750-0cf5b62d1ea1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c857d2cd-3e95-4132-8cb9-9fe072abf0cb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432956.6177018} device-1 | {"level":"info","message":"POST /devices/a39799d0-5532-4789-b750-0cf5b62d1ea1/signaling 200 27ms","method":"POST","requestID":"2b865e50-2989-11f0-8876-6f29f2a860cb","responseTime":27,"status":200,"url":"/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1/signaling"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":19.687288,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2b865e50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 23ms","method":"POST","requestID":"2b865e50-2989-11f0-8876-6f29f2a860cb","responseTime":23,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2b8af230-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:56Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d0e7d0de-5612-4d0c-91ba-7b9d3cfacbbb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432956.6316385} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.399678,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2b8af230-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2b8af230-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F80c85dad-567c-4582-a06e-8a170de66afa': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F80c85dad-567c-4582-a06e-8a170de66afa","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"cff19c23-ac0c-4e2e-b8d2-f42920ac646f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432956.6331708} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"65f323de-fcc6-4e88-bf2e-8ad3b0c9b243","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432956.6333091} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"c313e8b89ec364d5b1f835c300233448","responseTime":39,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2b8af230-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2/signaling 200 9ms","method":"POST","requestID":"2b8af230-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/80c85dad-567c-4582-a06e-8a170de66afa","requestID":"c313e8b89ec364d5b1f835c300233448"} gateway-1 | {"time_local":"05/May/2025:08:15:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/80c85dad-567c-4582-a06e-8a170de66afa HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.249","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c313e8b89ec364d5b1f835c300233448"} gateway-1 | {"time_local":"05/May/2025:08:15:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2290","request_time":"4.306","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"bcdb062fc8ec577901f64641bb19e239"} experiment-1 | {"level":"info","message":"DELETE /experiments/80c85dad-567c-4582-a06e-8a170de66afa 204 247ms","method":"DELETE","requestID":"c313e8b89ec364d5b1f835c300233448","responseTime":247,"status":204,"url":"/experiments/80c85dad-567c-4582-a06e-8a170de66afa"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 199ms","method":"POST","requestID":"a7bdce622c9236d026cc3bb323aebea2","responseTime":199,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:15:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.203","http_referrer":"","http_user_agent":"node-fetch","requestID":"a7bdce622c9236d026cc3bb323aebea2"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/86c8ffd2-463a-4fb0-b2ce-6e71e5ec39b2' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1Nn0.WU7jmHjFfQMEIvC-1j3NBoI5zpvLUUSeNr3GOntd-28","level":"info","message":"auth send jwt","requestID":"fd51299685b81770eecabb97dba2765c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fd51299685b81770eecabb97dba2765c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"fd51299685b81770eecabb97dba2765c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 204ms","method":"POST","requestID":"c03e1694723186d83d7dad77ab93ba1e","responseTime":204,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:15:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.206","http_referrer":"","http_user_agent":"node-fetch","requestID":"c03e1694723186d83d7dad77ab93ba1e"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:56Z"} gateway-1 | {"time_local":"05/May/2025:08:15:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"2.961","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"16f4be67c566a427da661abb21fb6647"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.938717,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:56Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a39799d0-5532-4789-b750-0cf5b62d1ea1' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"fd51299685b81770eecabb97dba2765c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432956,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1Nn0.WU7jmHjFfQMEIvC-1j3NBoI5zpvLUUSeNr3GOntd-28"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"fd51299685b81770eecabb97dba2765c","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c5972d4-fc9e-4a59-bafa-a4738201bbe5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4a46eb79-fadf-4cad-bfe8-3ff329c47d78","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432956.7181115} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fd51299685b81770eecabb97dba2765c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"55af7009-0bce-4c04-91d7-d95d3297fee5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432956.723416} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"fd51299685b81770eecabb97dba2765c","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c5972d4-fc9e-4a59-bafa-a4738201bbe5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"3e6f3472-0f28-489d-9ede-21c2712925a8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432956.7393355} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3a6f63ad-fe3a-4564-bb2a-9fa31d600308","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432956.7395523} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"fd51299685b81770eecabb97dba2765c","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c5972d4-fc9e-4a59-bafa-a4738201bbe5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c5972d4-fc9e-4a59-bafa-a4738201bbe5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:56.739318776Z"}]},"request_id":"5112c98c-fd76-4576-9c28-61bb3b777b0d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432956.744266} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"fd51299685b81770eecabb97dba2765c","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"fd51299685b81770eecabb97dba2765c"} device-1 | {"level":"info","message":"POST /devices? 201 76ms","method":"POST","requestID":"fd51299685b81770eecabb97dba2765c","responseTime":76,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"05/May/2025:08:15:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.081","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fd51299685b81770eecabb97dba2765c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1Nn0.WU7jmHjFfQMEIvC-1j3NBoI5zpvLUUSeNr3GOntd-28","level":"info","message":"auth send jwt","requestID":"33c4d2ea4bdd28ffe10c3f938cb16bd6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"33c4d2ea4bdd28ffe10c3f938cb16bd6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"33c4d2ea4bdd28ffe10c3f938cb16bd6"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:56Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.661765,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"33c4d2ea4bdd28ffe10c3f938cb16bd6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432956,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1Nn0.WU7jmHjFfQMEIvC-1j3NBoI5zpvLUUSeNr3GOntd-28"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"33c4d2ea4bdd28ffe10c3f938cb16bd6","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08077996-5546-4a93-ae1e-47619074ee29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f55d9b27-d8f2-409b-b237-a8cd5c4db23d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432956.7934911} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"33c4d2ea4bdd28ffe10c3f938cb16bd6","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8583009b-9fcf-4eba-83d0-a87595622292","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432956.821928} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"33c4d2ea4bdd28ffe10c3f938cb16bd6","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08077996-5546-4a93-ae1e-47619074ee29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"babe5cc5-fcbe-44ea-813b-b7cd7013f9fb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432956.8319418} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bb9c89f1-b998-4e55-8748-8d91b2d4eb59","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432956.8322256} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"33c4d2ea4bdd28ffe10c3f938cb16bd6","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08077996-5546-4a93-ae1e-47619074ee29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08077996-5546-4a93-ae1e-47619074ee29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:56.831929522Z"}]},"request_id":"323dcac1-1475-4085-8c1f-3c7739dd68a3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432956.8368776} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"33c4d2ea4bdd28ffe10c3f938cb16bd6","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"33c4d2ea4bdd28ffe10c3f938cb16bd6"} gateway-1 | {"time_local":"05/May/2025:08:15:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"33c4d2ea4bdd28ffe10c3f938cb16bd6"} device-1 | {"level":"info","message":"POST /devices? 201 64ms","method":"POST","requestID":"33c4d2ea4bdd28ffe10c3f938cb16bd6","responseTime":64,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1N30.TMTp9sMEgXqVwwU84GjVV5cjR_jJNuK5AyW08mzey08","level":"info","message":"auth send jwt","requestID":"baf97dc433b455b960d059c5119b4263"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"baf97dc433b455b960d059c5119b4263","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1N30.TMTp9sMEgXqVwwU84GjVV5cjR_jJNuK5AyW08mzey08","level":"info","message":"auth send jwt","requestID":"35d1753e95099e23bfe52a24628c215e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"35d1753e95099e23bfe52a24628c215e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"baf97dc433b455b960d059c5119b4263"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"35d1753e95099e23bfe52a24628c215e"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:57Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.893697,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"baf97dc433b455b960d059c5119b4263","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432957,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1N30.TMTp9sMEgXqVwwU84GjVV5cjR_jJNuK5AyW08mzey08"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"baf97dc433b455b960d059c5119b4263","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.818503,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"35d1753e95099e23bfe52a24628c215e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432957,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1N30.TMTp9sMEgXqVwwU84GjVV5cjR_jJNuK5AyW08mzey08"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"35d1753e95099e23bfe52a24628c215e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c5972d4-fc9e-4a59-bafa-a4738201bbe5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c5972d4-fc9e-4a59-bafa-a4738201bbe5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:56.739318776Z"}]},"request_id":"2a0d6e97-aa44-4cf3-b350-54b9579cf4de","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432957.7376833} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"baf97dc433b455b960d059c5119b4263","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08077996-5546-4a93-ae1e-47619074ee29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08077996-5546-4a93-ae1e-47619074ee29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:56.831929522Z"}]},"request_id":"b54a5809-34c4-4460-ba48-3b9155ee74ac","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432957.7383966} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"35d1753e95099e23bfe52a24628c215e","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0db0acc1-919c-461e-abc4-8d0c3bd82914","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432957.742786} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"baf97dc433b455b960d059c5119b4263","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a491887f-26c1-4928-870c-8dcf4bb5ba98","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432957.7437353} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"35d1753e95099e23bfe52a24628c215e","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08077996-5546-4a93-ae1e-47619074ee29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08077996-5546-4a93-ae1e-47619074ee29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:56.831929522Z"}]},"request_id":"fca7ba40-fc08-42a1-9a36-97edcad646f0","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432957.7467074} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"35d1753e95099e23bfe52a24628c215e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"35d1753e95099e23bfe52a24628c215e"} gateway-1 | {"time_local":"05/May/2025:08:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/08077996-5546-4a93-ae1e-47619074ee29 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.050","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"35d1753e95099e23bfe52a24628c215e"} device-1 | {"level":"info","message":"PATCH /devices/08077996-5546-4a93-ae1e-47619074ee29 200 44ms","method":"PATCH","requestID":"35d1753e95099e23bfe52a24628c215e","responseTime":44,"status":200,"url":"/devices/08077996-5546-4a93-ae1e-47619074ee29"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1N30.TMTp9sMEgXqVwwU84GjVV5cjR_jJNuK5AyW08mzey08","level":"info","message":"auth send jwt","requestID":"91afd0f3321a0db38a0f665b4b3642a2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"91afd0f3321a0db38a0f665b4b3642a2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"91afd0f3321a0db38a0f665b4b3642a2"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.700864,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"91afd0f3321a0db38a0f665b4b3642a2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432957,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1N30.TMTp9sMEgXqVwwU84GjVV5cjR_jJNuK5AyW08mzey08"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"91afd0f3321a0db38a0f665b4b3642a2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c5972d4-fc9e-4a59-bafa-a4738201bbe5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c5972d4-fc9e-4a59-bafa-a4738201bbe5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:56.739318776Z"}]},"request_id":"c2fe4a28-89b1-4f4c-8506-f1422fbec726","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432957.8345616} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"baf97dc433b455b960d059c5119b4263","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"baf97dc433b455b960d059c5119b4263"} device-1 | {"level":"info","message":"PATCH /devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5 200 135ms","method":"PATCH","requestID":"baf97dc433b455b960d059c5119b4263","responseTime":135,"status":200,"url":"/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5"} gateway-1 | {"time_local":"05/May/2025:08:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.139","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"baf97dc433b455b960d059c5119b4263"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1N30.TMTp9sMEgXqVwwU84GjVV5cjR_jJNuK5AyW08mzey08","level":"info","message":"auth send jwt","requestID":"29fc8a3e6342311c107def6879f695a6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"29fc8a3e6342311c107def6879f695a6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"29fc8a3e6342311c107def6879f695a6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"91afd0f3321a0db38a0f665b4b3642a2"} gateway-1 | {"time_local":"05/May/2025:08:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/08077996-5546-4a93-ae1e-47619074ee29/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.094","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"91afd0f3321a0db38a0f665b4b3642a2"} device-1 | {"level":"info","message":"POST /devices/08077996-5546-4a93-ae1e-47619074ee29/websocket 200 91ms","method":"POST","requestID":"91afd0f3321a0db38a0f665b4b3642a2","responseTime":91,"status":200,"url":"/devices/08077996-5546-4a93-ae1e-47619074ee29/websocket"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.252545,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"29fc8a3e6342311c107def6879f695a6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432957,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1N30.TMTp9sMEgXqVwwU84GjVV5cjR_jJNuK5AyW08mzey08"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"29fc8a3e6342311c107def6879f695a6","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"29fc8a3e6342311c107def6879f695a6"} gateway-1 | {"time_local":"05/May/2025:08:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"29fc8a3e6342311c107def6879f695a6"} device-1 | {"level":"info","message":"POST /devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5/websocket 200 20ms","method":"POST","requestID":"29fc8a3e6342311c107def6879f695a6","responseTime":20,"status":200,"url":"/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1N30.TMTp9sMEgXqVwwU84GjVV5cjR_jJNuK5AyW08mzey08","level":"info","message":"auth send jwt","requestID":"6a9594d704d4938b52f0a09d1158f00b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6a9594d704d4938b52f0a09d1158f00b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6a9594d704d4938b52f0a09d1158f00b"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.762808,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6a9594d704d4938b52f0a09d1158f00b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432957,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1N30.TMTp9sMEgXqVwwU84GjVV5cjR_jJNuK5AyW08mzey08"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6a9594d704d4938b52f0a09d1158f00b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c5972d4-fc9e-4a59-bafa-a4738201bbe5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c5972d4-fc9e-4a59-bafa-a4738201bbe5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:56.739318776Z"}]},"request_id":"66537e8d-8ccb-427a-93cb-310f41673a04","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432957.8791478} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6a9594d704d4938b52f0a09d1158f00b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6a9594d704d4938b52f0a09d1158f00b"} device-1 | {"level":"info","message":"GET /devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5? 200 10ms","method":"GET","requestID":"6a9594d704d4938b52f0a09d1158f00b","responseTime":10,"status":200,"url":"/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5?"} gateway-1 | {"time_local":"05/May/2025:08:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6a9594d704d4938b52f0a09d1158f00b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1N30.TMTp9sMEgXqVwwU84GjVV5cjR_jJNuK5AyW08mzey08","level":"info","message":"auth send jwt","requestID":"011466c7c4ef9bc7b454d8c79b606181"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"011466c7c4ef9bc7b454d8c79b606181","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"011466c7c4ef9bc7b454d8c79b606181"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.705595,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"011466c7c4ef9bc7b454d8c79b606181","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432957,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1N30.TMTp9sMEgXqVwwU84GjVV5cjR_jJNuK5AyW08mzey08"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"011466c7c4ef9bc7b454d8c79b606181","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08077996-5546-4a93-ae1e-47619074ee29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08077996-5546-4a93-ae1e-47619074ee29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:56.831929522Z"}]},"request_id":"91871dd3-0543-4d49-b46a-27c6fb3f69ad","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432957.8948257} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"011466c7c4ef9bc7b454d8c79b606181","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"011466c7c4ef9bc7b454d8c79b606181"} gateway-1 | {"time_local":"05/May/2025:08:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/08077996-5546-4a93-ae1e-47619074ee29? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"011466c7c4ef9bc7b454d8c79b606181"} device-1 | {"level":"info","message":"GET /devices/08077996-5546-4a93-ae1e-47619074ee29? 200 11ms","method":"GET","requestID":"011466c7c4ef9bc7b454d8c79b606181","responseTime":11,"status":200,"url":"/devices/08077996-5546-4a93-ae1e-47619074ee29?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1N30.TMTp9sMEgXqVwwU84GjVV5cjR_jJNuK5AyW08mzey08","level":"info","message":"auth send jwt","requestID":"81c0d0acc41ab97ea86e9d8062e04f75"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"81c0d0acc41ab97ea86e9d8062e04f75","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"81c0d0acc41ab97ea86e9d8062e04f75"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.657597,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"81c0d0acc41ab97ea86e9d8062e04f75","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432957,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1N30.TMTp9sMEgXqVwwU84GjVV5cjR_jJNuK5AyW08mzey08"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"81c0d0acc41ab97ea86e9d8062e04f75","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8"},"level":"info","message":"Attempting to run experiment","requestID":"81c0d0acc41ab97ea86e9d8062e04f75"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8"},"level":"info","message":"Attempting to book experiment","requestID":"81c0d0acc41ab97ea86e9d8062e04f75"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8"},"level":"info","message":"Successfully booked experiment","requestID":"81c0d0acc41ab97ea86e9d8062e04f75"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2c552000-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2c554710-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.893843,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:57Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2c552000-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432957,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1N30.TMTp9sMEgXqVwwU84GjVV5cjR_jJNuK5AyW08mzey08"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2c552000-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.568262,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2c554710-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432957,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1N30.TMTp9sMEgXqVwwU84GjVV5cjR_jJNuK5AyW08mzey08"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2c554710-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c5972d4-fc9e-4a59-bafa-a4738201bbe5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c5972d4-fc9e-4a59-bafa-a4738201bbe5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:56.739318776Z"}]},"request_id":"b7c4a021-0807-4bc0-8438-04cd19aaa21f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432957.9600813} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2c552000-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08077996-5546-4a93-ae1e-47619074ee29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08077996-5546-4a93-ae1e-47619074ee29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:56.831929522Z"}]},"request_id":"87ecd070-a346-4e9e-a3c3-c94e44fc5dc0","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432957.9608817} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2c554710-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2c552000-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5? 200 16ms","method":"GET","requestID":"2c552000-2989-11f0-8876-6f29f2a860cb","responseTime":16,"status":200,"url":"/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2c554710-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/08077996-5546-4a93-ae1e-47619074ee29? 200 16ms","method":"GET","requestID":"2c554710-2989-11f0-8876-6f29f2a860cb","responseTime":16,"status":200,"url":"/devices/08077996-5546-4a93-ae1e-47619074ee29?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8"},"level":"info","message":"Setting up experiment","requestID":"81c0d0acc41ab97ea86e9d8062e04f75"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"81c0d0acc41ab97ea86e9d8062e04f75"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8"},"level":"info","message":"Successfully locked booking for experiment","requestID":"81c0d0acc41ab97ea86e9d8062e04f75"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"81c0d0acc41ab97ea86e9d8062e04f75"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"81c0d0acc41ab97ea86e9d8062e04f75"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8"},"level":"info","message":"Attempting to update booking for experiment","requestID":"81c0d0acc41ab97ea86e9d8062e04f75"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8"},"level":"info","message":"Successfully updated booking for experiment","requestID":"81c0d0acc41ab97ea86e9d8062e04f75"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8"},"level":"info","message":"Successfully set up experiment","requestID":"81c0d0acc41ab97ea86e9d8062e04f75"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2c628d80-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2c668520-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2c66ac30-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8"},"level":"info","message":"Successfully running experiment","requestID":"81c0d0acc41ab97ea86e9d8062e04f75"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:58Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.804884,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:58Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2c628d80-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432957,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1N30.TMTp9sMEgXqVwwU84GjVV5cjR_jJNuK5AyW08mzey08"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2c628d80-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.681493,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:58Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2c668520-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432957,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1N30.TMTp9sMEgXqVwwU84GjVV5cjR_jJNuK5AyW08mzey08"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2c668520-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.608259,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:58Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c5972d4-fc9e-4a59-bafa-a4738201bbe5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"42be993b-d5aa-447a-b866-a8ef4b88b5be","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432958.0726318} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2c66ac30-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2c66ac30-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2c66ac30-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5/signaling 200 11ms","method":"POST","requestID":"2c66ac30-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08077996-5546-4a93-ae1e-47619074ee29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08077996-5546-4a93-ae1e-47619074ee29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:56.831929522Z"}]},"request_id":"d5cde5d8-122b-4c19-8ef5-acd9f3bd2c9b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432958.0774293} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2c668520-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c5972d4-fc9e-4a59-bafa-a4738201bbe5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c5972d4-fc9e-4a59-bafa-a4738201bbe5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:56.739318776Z"}]},"request_id":"2d6b9c2e-425e-4e5e-a961-a3c4645ed92d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432958.0785422} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2c628d80-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2c68a800-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:58Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2c668520-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/08077996-5546-4a93-ae1e-47619074ee29? 200 18ms","method":"GET","requestID":"2c668520-2989-11f0-8876-6f29f2a860cb","responseTime":18,"status":200,"url":"/devices/08077996-5546-4a93-ae1e-47619074ee29?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2c628d80-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08077996-5546-4a93-ae1e-47619074ee29","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"31ed916f-b231-4a6f-b27e-659f5a9c7409","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432958.0846884} device-1 | {"level":"info","message":"GET /devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5? 200 45ms","method":"GET","requestID":"2c628d80-2989-11f0-8876-6f29f2a860cb","responseTime":45,"status":200,"url":"/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5?"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.483106,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2c68a800-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2c68a800-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2c69e080-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fce785547-ecf9-41d5-8965-3126ad5b92b8#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fce785547-ecf9-41d5-8965-3126ad5b92b8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"afee4450-4e81-4717-9185-f619f1e055ee","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432958.09135} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c8a3faf0-b78f-4bd7-929a-06e0bc548f23","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432958.0916545} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2c68a800-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/08077996-5546-4a93-ae1e-47619074ee29/signaling 200 34ms","method":"POST","requestID":"2c68a800-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/devices/08077996-5546-4a93-ae1e-47619074ee29/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","method":"POST","requestID":"81c0d0acc41ab97ea86e9d8062e04f75","responseTime":46,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:58Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c5972d4-fc9e-4a59-bafa-a4738201bbe5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"79d9915e-4ef0-4e65-9e65-3cca31b3fe92","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432958.1203792} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.535394,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2c69e080-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2c69e080-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2c69e080-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5/signaling 200 36ms","method":"POST","requestID":"2c69e080-2989-11f0-8876-6f29f2a860cb","responseTime":36,"status":200,"url":"/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"81c0d0acc41ab97ea86e9d8062e04f75"} gateway-1 | {"time_local":"05/May/2025:08:15:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.225","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"81c0d0acc41ab97ea86e9d8062e04f75"} experiment-1 | {"level":"info","message":"POST /experiments? 201 220ms","method":"POST","requestID":"81c0d0acc41ab97ea86e9d8062e04f75","responseTime":220,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2c6ffb00-2989-11f0-8876-6f29f2a860cb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1OH0.9Te9a-71Va2Zb-7-w4xgoC87ELbMZcU5rz4cEb4Y9oI","level":"info","message":"auth send jwt","requestID":"1eb69239788f6dad3d135ae5b1274736"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1eb69239788f6dad3d135ae5b1274736","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:58Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1eb69239788f6dad3d135ae5b1274736"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08077996-5546-4a93-ae1e-47619074ee29","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d60aef8b-0a77-46c8-80dc-b5f475e4bb03","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432958.1335456} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.508629,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:58Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2c6ffb00-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"2c6ffb00-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.652338,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"1eb69239788f6dad3d135ae5b1274736","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432958,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1OH0.9Te9a-71Va2Zb-7-w4xgoC87ELbMZcU5rz4cEb4Y9oI"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"1eb69239788f6dad3d135ae5b1274736","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2c6ffb00-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/08077996-5546-4a93-ae1e-47619074ee29/signaling 200 35ms","method":"POST","requestID":"2c6ffb00-2989-11f0-8876-6f29f2a860cb","responseTime":35,"status":200,"url":"/devices/08077996-5546-4a93-ae1e-47619074ee29/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c5972d4-fc9e-4a59-bafa-a4738201bbe5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c5972d4-fc9e-4a59-bafa-a4738201bbe5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:56.739318776Z"}]},"request_id":"7448776e-b00e-4332-99d6-6a9a9a3670cb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432958.1646712} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1eb69239788f6dad3d135ae5b1274736","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"81c0d0acc41ab97ea86e9d8062e04f75"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8"},"level":"info","message":"Building connection plan","requestID":"81c0d0acc41ab97ea86e9d8062e04f75"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"6cbe0502-e3ee-4659-ac5b-4aa562b8d51d"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"a5e41218-1ace-4784-aefd-d6ac2b858b50"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"cf4d043f-d6ab-41cf-a114-a78abeb1c7e5"}]},"level":"info","message":"Built pairwise service configurations","requestID":"81c0d0acc41ab97ea86e9d8062e04f75"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"81c0d0acc41ab97ea86e9d8062e04f75"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"2c761580-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1eb69239788f6dad3d135ae5b1274736"} gateway-1 | {"time_local":"05/May/2025:08:15:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1eb69239788f6dad3d135ae5b1274736"} device-1 | {"level":"info","message":"GET /devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5? 200 38ms","method":"GET","requestID":"1eb69239788f6dad3d135ae5b1274736","responseTime":38,"status":200,"url":"/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5?"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:58Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1OH0.9Te9a-71Va2Zb-7-w4xgoC87ELbMZcU5rz4cEb4Y9oI","level":"info","message":"auth send jwt","requestID":"5f86f9e93d59c7ec4dedf28ee0d2ba28"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5f86f9e93d59c7ec4dedf28ee0d2ba28","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":2.872825,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2c761580-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432957,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1N30.TMTp9sMEgXqVwwU84GjVV5cjR_jJNuK5AyW08mzey08"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"2c761580-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5f86f9e93d59c7ec4dedf28ee0d2ba28"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:58Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.125696,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5f86f9e93d59c7ec4dedf28ee0d2ba28","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432958,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk1OH0.9Te9a-71Va2Zb-7-w4xgoC87ELbMZcU5rz4cEb4Y9oI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5f86f9e93d59c7ec4dedf28ee0d2ba28","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08077996-5546-4a93-ae1e-47619074ee29","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08077996-5546-4a93-ae1e-47619074ee29","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:15:56.831929522Z"}]},"request_id":"a3dff694-214b-4453-85fd-2c40a998554d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432958.2128513} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"5f86f9e93d59c7ec4dedf28ee0d2ba28","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5f86f9e93d59c7ec4dedf28ee0d2ba28"} device-1 | {"level":"info","message":"GET /devices/08077996-5546-4a93-ae1e-47619074ee29? 200 37ms","method":"GET","requestID":"5f86f9e93d59c7ec4dedf28ee0d2ba28","responseTime":37,"status":200,"url":"/devices/08077996-5546-4a93-ae1e-47619074ee29?"} gateway-1 | {"time_local":"05/May/2025:08:15:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/08077996-5546-4a93-ae1e-47619074ee29? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5f86f9e93d59c7ec4dedf28ee0d2ba28"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"309a9fc1-1af4-4a6d-b164-de6dd69b83a6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432958.2186532} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f1a3b0a6-9cbd-4a10-ac8d-b407eb8a156b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432958.218817} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"2c761580-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"2c761580-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"2c761580-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/2b061e06-f5dc-4714-b8fe-1c2f4c377797'","requestID":"2c761580-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/2b061e06-f5dc-4714-b8fe-1c2f4c377797'","requestID":"2c761580-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"2c761580-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 68ms","method":"POST","requestID":"2c761580-2989-11f0-8876-6f29f2a860cb","responseTime":68,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"2c761580-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"81c0d0acc41ab97ea86e9d8062e04f75"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2c8b2420-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:58Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c5972d4-fc9e-4a59-bafa-a4738201bbe5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef5e2936-cd4b-4d0c-b80f-6f5ded8bfffc","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432958.310939} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.50926,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2c8b2420-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2c8b2420-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2c8b2420-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5/signaling 200 9ms","method":"POST","requestID":"2c8b2420-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2c8cd1d0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:15:58Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08077996-5546-4a93-ae1e-47619074ee29","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"580f3699-7731-4121-9213-489aa2de860b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432958.3213313} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.413044,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:15:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2c8cd1d0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2c8cd1d0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2c8cd1d0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/08077996-5546-4a93-ae1e-47619074ee29/signaling 200 9ms","method":"POST","requestID":"2c8cd1d0-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/08077996-5546-4a93-ae1e-47619074ee29/signaling"} device-1 | {"device":"6c5972d4-fc9e-4a59-bafa-a4738201bbe5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"2b061e06-f5dc-4714-b8fe-1c2f4c377797","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"08077996-5546-4a93-ae1e-47619074ee29","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"2b061e06-f5dc-4714-b8fe-1c2f4c377797","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"08077996-5546-4a93-ae1e-47619074ee29","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"08077996-5546-4a93-ae1e-47619074ee29","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"08077996-5546-4a93-ae1e-47619074ee29","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"08077996-5546-4a93-ae1e-47619074ee29","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/2b061e06-f5dc-4714-b8fe-1c2f4c377797' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2b061e06-f5dc-4714-b8fe-1c2f4c377797","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a8a53781d59919d9622f7fe25778a6b4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a8a53781d59919d9622f7fe25778a6b4","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/2b061e06-f5dc-4714-b8fe-1c2f4c377797"}}},"level":"info","message":"received a callback","requestID":"a8a53781d59919d9622f7fe25778a6b4"} device-1 | {"device":"6c5972d4-fc9e-4a59-bafa-a4738201bbe5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6c5972d4-fc9e-4a59-bafa-a4738201bbe5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6c5972d4-fc9e-4a59-bafa-a4738201bbe5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"a8a53781d59919d9622f7fe25778a6b4","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"a8a53781d59919d9622f7fe25778a6b4"} device-1 | {"device":"08077996-5546-4a93-ae1e-47619074ee29","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6c5972d4-fc9e-4a59-bafa-a4738201bbe5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6c5972d4-fc9e-4a59-bafa-a4738201bbe5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"08077996-5546-4a93-ae1e-47619074ee29","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"2b061e06-f5dc-4714-b8fe-1c2f4c377797","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"2b061e06-f5dc-4714-b8fe-1c2f4c377797","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/2b061e06-f5dc-4714-b8fe-1c2f4c377797' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2b061e06-f5dc-4714-b8fe-1c2f4c377797","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"484e29be2cd8147c11ce140c2ae72c42","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"484e29be2cd8147c11ce140c2ae72c42","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/2b061e06-f5dc-4714-b8fe-1c2f4c377797"}}},"level":"info","message":"received a callback","requestID":"484e29be2cd8147c11ce140c2ae72c42"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MH0.IgufrwWzHRRPzqPBwe5EEVushw0pnidVAN9fofQIW_c","level":"info","message":"auth send jwt","requestID":"dad46e64d3fad5070d315b94ddb63380"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dad46e64d3fad5070d315b94ddb63380","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"2dd00030-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8","requestID":"dad46e64d3fad5070d315b94ddb63380"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":4.887402,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"dad46e64d3fad5070d315b94ddb63380","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432960,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MH0.IgufrwWzHRRPzqPBwe5EEVushw0pnidVAN9fofQIW_c"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"dad46e64d3fad5070d315b94ddb63380","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2b061e06-f5dc-4714-b8fe-1c2f4c377797","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"865e816f-daa7-4350-81dc-0388d8bdfaba","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432960.4454234} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":6.777634,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2b061e06-f5dc-4714-b8fe-1c2f4c377797","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2dd00030-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/2b061e06-f5dc-4714-b8fe-1c2f4c377797","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"2dd00030-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"2dd00030-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/2b061e06-f5dc-4714-b8fe-1c2f4c377797 200 14ms","method":"GET","requestID":"2dd00030-2989-11f0-8876-6f29f2a860cb","responseTime":14,"status":200,"url":"/peerconnections/2b061e06-f5dc-4714-b8fe-1c2f4c377797"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8","requestID":"dad46e64d3fad5070d315b94ddb63380"} gateway-1 | {"time_local":"05/May/2025:08:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8 HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dad46e64d3fad5070d315b94ddb63380"} experiment-1 | {"level":"info","message":"GET /experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8 200 18ms","method":"GET","requestID":"dad46e64d3fad5070d315b94ddb63380","responseTime":18,"status":200,"url":"/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"484e29be2cd8147c11ce140c2ae72c42","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch","requestID":"484e29be2cd8147c11ce140c2ae72c42"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2dd4bb20-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:00Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08077996-5546-4a93-ae1e-47619074ee29","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"21904181-7fdd-45aa-ade0-fa7235db8230","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432960.4706213} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.446443,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2dd4bb20-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2dd4bb20-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2dd4bb20-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/08077996-5546-4a93-ae1e-47619074ee29/signaling 200 9ms","method":"POST","requestID":"2dd4bb20-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/08077996-5546-4a93-ae1e-47619074ee29/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2dd641c0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:00Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c5972d4-fc9e-4a59-bafa-a4738201bbe5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38576f82-6b22-4daf-a570-7be48b94fcbe","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432960.4810443} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.476815,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2dd641c0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2dd641c0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2dd641c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5/signaling 200 8ms","method":"POST","requestID":"2dd641c0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MH0.IgufrwWzHRRPzqPBwe5EEVushw0pnidVAN9fofQIW_c","level":"info","message":"auth send jwt","requestID":"4a83954cf962dcef334a1bc187b4abe0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4a83954cf962dcef334a1bc187b4abe0","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8","requestID":"4a83954cf962dcef334a1bc187b4abe0"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.178861,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4a83954cf962dcef334a1bc187b4abe0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432960,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MH0.IgufrwWzHRRPzqPBwe5EEVushw0pnidVAN9fofQIW_c"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4a83954cf962dcef334a1bc187b4abe0","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8","requestID":"4a83954cf962dcef334a1bc187b4abe0"} gateway-1 | {"time_local":"05/May/2025:08:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8 HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4a83954cf962dcef334a1bc187b4abe0"} experiment-1 | {"level":"info","message":"GET /experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8 200 13ms","method":"GET","requestID":"4a83954cf962dcef334a1bc187b4abe0","responseTime":13,"status":200,"url":"/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MH0.IgufrwWzHRRPzqPBwe5EEVushw0pnidVAN9fofQIW_c","level":"info","message":"auth send jwt","requestID":"0563afb001045c2234c6b840fd963f14"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0563afb001045c2234c6b840fd963f14","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8","requestID":"0563afb001045c2234c6b840fd963f14"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":24.968461,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"0563afb001045c2234c6b840fd963f14","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432960,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MH0.IgufrwWzHRRPzqPBwe5EEVushw0pnidVAN9fofQIW_c"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"0563afb001045c2234c6b840fd963f14","responseTime":28,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8"},"level":"info","message":"Attempting to finish experiment","requestID":"0563afb001045c2234c6b840fd963f14"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"2deb9e80-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.834205,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2b061e06-f5dc-4714-b8fe-1c2f4c377797","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2deb9e80-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/2b061e06-f5dc-4714-b8fe-1c2f4c377797","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432960,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MH0.IgufrwWzHRRPzqPBwe5EEVushw0pnidVAN9fofQIW_c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2deb9e80-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"device":"6c5972d4-fc9e-4a59-bafa-a4738201bbe5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6c5972d4-fc9e-4a59-bafa-a4738201bbe5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"08077996-5546-4a93-ae1e-47619074ee29","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"08077996-5546-4a93-ae1e-47619074ee29","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"08077996-5546-4a93-ae1e-47619074ee29","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6c5972d4-fc9e-4a59-bafa-a4738201bbe5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/2b061e06-f5dc-4714-b8fe-1c2f4c377797' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/2b061e06-f5dc-4714-b8fe-1c2f4c377797' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2b061e06-f5dc-4714-b8fe-1c2f4c377797","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2b061e06-f5dc-4714-b8fe-1c2f4c377797': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2b061e06-f5dc-4714-b8fe-1c2f4c377797","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"952154c9-710f-4d21-b411-1d579b6d7cb2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432960.658076} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7c91114da966c99b310e0a7c03ba4c27","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7c91114da966c99b310e0a7c03ba4c27","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"378b0a30-0398-4b7b-a549-388f9f80e740","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432960.658469} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8dec68784d151e145065706a2102cdce","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"2deb9e80-2989-11f0-8876-6f29f2a860cb","responseTime":32,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2b061e06-f5dc-4714-b8fe-1c2f4c377797"}}},"level":"info","message":"received a callback","requestID":"7c91114da966c99b310e0a7c03ba4c27"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8dec68784d151e145065706a2102cdce","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2b061e06-f5dc-4714-b8fe-1c2f4c377797"}}},"level":"info","message":"received a callback","requestID":"8dec68784d151e145065706a2102cdce"} device-1 | {"data":{"peerconnection":"2b061e06-f5dc-4714-b8fe-1c2f4c377797","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"2deb9e80-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/2b061e06-f5dc-4714-b8fe-1c2f4c377797 204 98ms","method":"DELETE","requestID":"2deb9e80-2989-11f0-8876-6f29f2a860cb","responseTime":98,"status":204,"url":"/peerconnections/2b061e06-f5dc-4714-b8fe-1c2f4c377797"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8"},"level":"info","message":"Successfully finished experiment","requestID":"0563afb001045c2234c6b840fd963f14"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2dfd51c0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:00Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08077996-5546-4a93-ae1e-47619074ee29","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2449125e-8d02-4d6f-ad41-9075c300755a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432960.7376595} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.541885,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2dfd51c0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2dfd51c0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2dfd51c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/08077996-5546-4a93-ae1e-47619074ee29/signaling 200 10ms","method":"POST","requestID":"2dfd51c0-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/08077996-5546-4a93-ae1e-47619074ee29/signaling"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fce785547-ecf9-41d5-8965-3126ad5b92b8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fce785547-ecf9-41d5-8965-3126ad5b92b8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"c85efd9c-d64e-47fa-a7c0-bc2b3cf01211","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432960.7436326} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a50ada4-69a1-4a64-bc73-cb7a076a3525","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432960.7439384} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2dff2680-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"0563afb001045c2234c6b840fd963f14","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:00Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c5972d4-fc9e-4a59-bafa-a4738201bbe5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e13e123-1155-4458-9425-521b76ae611c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432960.7493193} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.492833,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2dff2680-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2dff2680-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2dff2680-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5/signaling 200 9ms","method":"POST","requestID":"2dff2680-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8","requestID":"0563afb001045c2234c6b840fd963f14"} gateway-1 | {"time_local":"05/May/2025:08:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.227","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0563afb001045c2234c6b840fd963f14"} experiment-1 | {"level":"info","message":"DELETE /experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8 204 223ms","method":"DELETE","requestID":"0563afb001045c2234c6b840fd963f14","responseTime":223,"status":204,"url":"/experiments/ce785547-ecf9-41d5-8965-3126ad5b92b8"} gateway-1 | {"time_local":"05/May/2025:08:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"2.940","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"0ebeb14364080f3dd15340d8404ddd3c"} gateway-1 | {"time_local":"05/May/2025:08:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"2.958","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"518504b2366a196621d7606ae0342095"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/08077996-5546-4a93-ae1e-47619074ee29' closed"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6c5972d4-fc9e-4a59-bafa-a4738201bbe5' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 147ms","method":"POST","requestID":"7c91114da966c99b310e0a7c03ba4c27","responseTime":147,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"7c91114da966c99b310e0a7c03ba4c27"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MH0.IgufrwWzHRRPzqPBwe5EEVushw0pnidVAN9fofQIW_c","level":"info","message":"auth send jwt","requestID":"65c54f2a703b11687d4a8cefada45a91"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 147ms","method":"POST","requestID":"8dec68784d151e145065706a2102cdce","responseTime":147,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"8dec68784d151e145065706a2102cdce"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"65c54f2a703b11687d4a8cefada45a91","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"65c54f2a703b11687d4a8cefada45a91"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.903928,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"65c54f2a703b11687d4a8cefada45a91","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432960,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MH0.IgufrwWzHRRPzqPBwe5EEVushw0pnidVAN9fofQIW_c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"65c54f2a703b11687d4a8cefada45a91","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c7579e1-d934-4367-87ec-f218f3bd61b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b4622288-8905-4138-b285-a01b6b820286","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432960.8529205} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"65c54f2a703b11687d4a8cefada45a91","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1d5d568e-7b14-4468-ad1f-3120d9a36677","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432960.859113} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"65c54f2a703b11687d4a8cefada45a91","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c7579e1-d934-4367-87ec-f218f3bd61b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"dca84000-e4b6-436a-98e1-7877afa23469","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432960.871798} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08531ef1-db8b-45b4-bdd2-08f0f362447b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432960.8721044} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"65c54f2a703b11687d4a8cefada45a91","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c7579e1-d934-4367-87ec-f218f3bd61b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c7579e1-d934-4367-87ec-f218f3bd61b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:00.871782599Z"}]},"request_id":"bb760454-931e-4b00-9179-f4f5a92d64fd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432960.9008248} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"65c54f2a703b11687d4a8cefada45a91","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"65c54f2a703b11687d4a8cefada45a91"} gateway-1 | {"time_local":"05/May/2025:08:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.098","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"65c54f2a703b11687d4a8cefada45a91"} device-1 | {"level":"info","message":"POST /devices? 201 93ms","method":"POST","requestID":"65c54f2a703b11687d4a8cefada45a91","responseTime":93,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MH0.IgufrwWzHRRPzqPBwe5EEVushw0pnidVAN9fofQIW_c","level":"info","message":"auth send jwt","requestID":"5a99fa99c931d371c9a6a5ac65bb12b6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5a99fa99c931d371c9a6a5ac65bb12b6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5a99fa99c931d371c9a6a5ac65bb12b6"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.851617,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5a99fa99c931d371c9a6a5ac65bb12b6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432960,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MH0.IgufrwWzHRRPzqPBwe5EEVushw0pnidVAN9fofQIW_c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5a99fa99c931d371c9a6a5ac65bb12b6","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc8ab086-d713-4265-a425-efeddf53649a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"365a8f28-fb3c-4bba-af49-74ed502d6e0e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432960.9524078} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5a99fa99c931d371c9a6a5ac65bb12b6","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e44e0863-bce3-460c-ba92-efb460520020","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432960.9575322} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"5a99fa99c931d371c9a6a5ac65bb12b6","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc8ab086-d713-4265-a425-efeddf53649a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"6aa135ca-5df7-4400-9b62-06a064e2c296","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432960.9684126} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"344b6dc0-0ffc-4579-b0a5-70a6f9af9c21","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432960.9686036} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"5a99fa99c931d371c9a6a5ac65bb12b6","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc8ab086-d713-4265-a425-efeddf53649a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc8ab086-d713-4265-a425-efeddf53649a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:00.968400390Z"}]},"request_id":"47da94ec-0d66-4b45-b47b-8b893d0f95e2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432960.9969594} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"5a99fa99c931d371c9a6a5ac65bb12b6","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5a99fa99c931d371c9a6a5ac65bb12b6"} gateway-1 | {"time_local":"05/May/2025:08:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5a99fa99c931d371c9a6a5ac65bb12b6"} device-1 | {"level":"info","message":"POST /devices? 201 91ms","method":"POST","requestID":"5a99fa99c931d371c9a6a5ac65bb12b6","responseTime":91,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MX0.mZf8wFb7xPT0syEVYCc34uK3PLvf2HQNDQtWXBk-JvI","level":"info","message":"auth send jwt","requestID":"6a792744b509217d6ef3b6ee34c1f5a7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6a792744b509217d6ef3b6ee34c1f5a7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"6a792744b509217d6ef3b6ee34c1f5a7"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.65487,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6a792744b509217d6ef3b6ee34c1f5a7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432961,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MX0.mZf8wFb7xPT0syEVYCc34uK3PLvf2HQNDQtWXBk-JvI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"6a792744b509217d6ef3b6ee34c1f5a7","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b6208d0-a9ac-4aeb-a110-2d130626ebc9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0cc3cf86-31ea-4db1-bf4d-d47ae6284b87","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.0480123} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6a792744b509217d6ef3b6ee34c1f5a7","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd5eb1a7-2869-419d-89b2-dd1a393bb07b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.052341} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"6a792744b509217d6ef3b6ee34c1f5a7","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b6208d0-a9ac-4aeb-a110-2d130626ebc9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"aa580d46-b36a-473a-92a2-ba9d49153797","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.064448} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"81de0d1d-8dc6-4b2a-8e25-f80cbe3e20a9","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.064567} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"6a792744b509217d6ef3b6ee34c1f5a7","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b6208d0-a9ac-4aeb-a110-2d130626ebc9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b6208d0-a9ac-4aeb-a110-2d130626ebc9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:01.064432153Z"}]},"request_id":"96361f83-e2fd-4d8b-b20a-ed98931b2519","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.0932426} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6a792744b509217d6ef3b6ee34c1f5a7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"6a792744b509217d6ef3b6ee34c1f5a7"} gateway-1 | {"time_local":"05/May/2025:08:16:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6a792744b509217d6ef3b6ee34c1f5a7"} device-1 | {"level":"info","message":"POST /devices? 201 90ms","method":"POST","requestID":"6a792744b509217d6ef3b6ee34c1f5a7","responseTime":90,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MX0.mZf8wFb7xPT0syEVYCc34uK3PLvf2HQNDQtWXBk-JvI","level":"info","message":"auth send jwt","requestID":"13ae88867801331d40744e0f8c12889d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"13ae88867801331d40744e0f8c12889d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"13ae88867801331d40744e0f8c12889d"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.800618,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"13ae88867801331d40744e0f8c12889d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432961,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MX0.mZf8wFb7xPT0syEVYCc34uK3PLvf2HQNDQtWXBk-JvI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"13ae88867801331d40744e0f8c12889d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa492e066-0a18-4911-a082-833c30f8f9e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c08dc365-5939-4d81-84df-d94b2730807f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.1145113} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"13ae88867801331d40744e0f8c12889d","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef9a536f-c4bb-4eb5-b0dd-e4f03effce19","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.1389682} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"13ae88867801331d40744e0f8c12889d","responseTime":24,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa492e066-0a18-4911-a082-833c30f8f9e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"fa3e9a10-cc33-43d5-8922-252c50d0b339","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.1464255} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b58418d0-cdbd-4b40-b258-04da69bc429e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.1466408} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"13ae88867801331d40744e0f8c12889d","responseTime":9,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa492e066-0a18-4911-a082-833c30f8f9e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa492e066-0a18-4911-a082-833c30f8f9e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:01.146408481Z"}]},"request_id":"8c39b6b0-0eca-432a-93dd-5662245fc5c2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.1504555} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"13ae88867801331d40744e0f8c12889d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"13ae88867801331d40744e0f8c12889d"} gateway-1 | {"time_local":"05/May/2025:08:16:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"13ae88867801331d40744e0f8c12889d"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"13ae88867801331d40744e0f8c12889d","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MX0.mZf8wFb7xPT0syEVYCc34uK3PLvf2HQNDQtWXBk-JvI","level":"info","message":"auth send jwt","requestID":"e1489dc95ca5019c47508fd39541e336"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e1489dc95ca5019c47508fd39541e336","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e1489dc95ca5019c47508fd39541e336"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.704104,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"e1489dc95ca5019c47508fd39541e336","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432961,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MX0.mZf8wFb7xPT0syEVYCc34uK3PLvf2HQNDQtWXBk-JvI"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"e1489dc95ca5019c47508fd39541e336","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fedced867-0390-4fbb-9265-40836508043b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b11eb907-3613-4b7f-bf64-daa0da593ae0","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.2029989} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e1489dc95ca5019c47508fd39541e336","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"066494d9-d641-4236-ad81-446d1f30c0d4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.20676} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"e1489dc95ca5019c47508fd39541e336","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fedced867-0390-4fbb-9265-40836508043b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"d8f8c4cd-c48f-40cb-b30b-c361ef6aa058","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.2416055} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af9029c9-4db9-4d2f-a02b-4c929a24a1fd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.2416875} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"e1489dc95ca5019c47508fd39541e336","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fedced867-0390-4fbb-9265-40836508043b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fedced867-0390-4fbb-9265-40836508043b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:01.241592632Z"}]},"request_id":"149fd9e2-6452-4cf9-b4c6-30301e95dc69","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.2453628} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e1489dc95ca5019c47508fd39541e336","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e1489dc95ca5019c47508fd39541e336"} gateway-1 | {"time_local":"05/May/2025:08:16:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e1489dc95ca5019c47508fd39541e336"} device-1 | {"level":"info","message":"POST /devices? 201 90ms","method":"POST","requestID":"e1489dc95ca5019c47508fd39541e336","responseTime":90,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MX0.mZf8wFb7xPT0syEVYCc34uK3PLvf2HQNDQtWXBk-JvI","level":"info","message":"auth send jwt","requestID":"53258a61649787c4981081a75af0ec96"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"53258a61649787c4981081a75af0ec96","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"53258a61649787c4981081a75af0ec96"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.824658,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"53258a61649787c4981081a75af0ec96","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432961,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MX0.mZf8wFb7xPT0syEVYCc34uK3PLvf2HQNDQtWXBk-JvI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"53258a61649787c4981081a75af0ec96","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56336196-7891-4b22-b4f2-49c466ef9300","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9390f10e-39d7-41b1-89c1-380b61dfea3a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.3705506} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"53258a61649787c4981081a75af0ec96","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"edb49436-b0ce-4a9e-8b23-16193f44cdfa","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.3779967} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"53258a61649787c4981081a75af0ec96","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56336196-7891-4b22-b4f2-49c466ef9300","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"5465b6b8-e4a0-425a-a04e-00ec07fce955","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.4757414} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b457a64-217c-4c88-bb59-cc374e41cae0","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.4759881} authorization-1 | {"level":"info","message":"POST /relations/update 200 101ms","method":"POST","requestID":"53258a61649787c4981081a75af0ec96","responseTime":101,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56336196-7891-4b22-b4f2-49c466ef9300","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F56336196-7891-4b22-b4f2-49c466ef9300","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:01.475726418Z"}]},"request_id":"55eaffc8-c7b5-47c9-9272-9a50ba731129","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.480431} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"53258a61649787c4981081a75af0ec96","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"53258a61649787c4981081a75af0ec96"} device-1 | {"level":"info","message":"POST /devices? 201 230ms","method":"POST","requestID":"53258a61649787c4981081a75af0ec96","responseTime":230,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"05/May/2025:08:16:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.234","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"53258a61649787c4981081a75af0ec96"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MX0.mZf8wFb7xPT0syEVYCc34uK3PLvf2HQNDQtWXBk-JvI","level":"info","message":"auth send jwt","requestID":"43356bbefcce115c368ce472590a8cc4"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"43356bbefcce115c368ce472590a8cc4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"43356bbefcce115c368ce472590a8cc4"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.906531,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"43356bbefcce115c368ce472590a8cc4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432961,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MX0.mZf8wFb7xPT0syEVYCc34uK3PLvf2HQNDQtWXBk-JvI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"43356bbefcce115c368ce472590a8cc4","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7689fc00-42d8-45cd-9320-518a0b9fd2c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f58942dd-6367-4861-b552-137f16152354","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.6945038} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"43356bbefcce115c368ce472590a8cc4","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83d9a94d-2d19-4b70-83fc-1bdac195919c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.7016842} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"43356bbefcce115c368ce472590a8cc4","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7689fc00-42d8-45cd-9320-518a0b9fd2c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"c173af9b-4fcf-4113-84f4-f66a2e983012","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.8429701} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ae9e98c7-f2e1-4445-9b4a-39d7c0104d0a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.8433597} authorization-1 | {"level":"info","message":"POST /relations/update 200 145ms","method":"POST","requestID":"43356bbefcce115c368ce472590a8cc4","responseTime":145,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7689fc00-42d8-45cd-9320-518a0b9fd2c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7689fc00-42d8-45cd-9320-518a0b9fd2c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:01.842947491Z"}]},"request_id":"5c470715-2012-46f9-8c40-a748998a7668","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.8506615} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"43356bbefcce115c368ce472590a8cc4","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"43356bbefcce115c368ce472590a8cc4"} gateway-1 | {"time_local":"05/May/2025:08:16:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.369","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"43356bbefcce115c368ce472590a8cc4"} device-1 | {"level":"info","message":"POST /devices? 201 365ms","method":"POST","requestID":"43356bbefcce115c368ce472590a8cc4","responseTime":365,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MX0.mZf8wFb7xPT0syEVYCc34uK3PLvf2HQNDQtWXBk-JvI","level":"info","message":"auth send jwt","requestID":"62e313b7d4aa941941b68414e2ec3f42"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"62e313b7d4aa941941b68414e2ec3f42","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"62e313b7d4aa941941b68414e2ec3f42"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.145484,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"62e313b7d4aa941941b68414e2ec3f42","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432961,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MX0.mZf8wFb7xPT0syEVYCc34uK3PLvf2HQNDQtWXBk-JvI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"62e313b7d4aa941941b68414e2ec3f42","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23bf3ff-d16a-45ec-adef-37337ff3e60a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a85c7151-bbcb-42b7-9674-3e5d0edb6da9","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.8899548} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"62e313b7d4aa941941b68414e2ec3f42","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d898f1b4-8d31-4ad8-9733-4685ea66eb8e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.8977058} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"62e313b7d4aa941941b68414e2ec3f42","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23bf3ff-d16a-45ec-adef-37337ff3e60a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"47789bf4-1386-4609-9ea8-f4b8c21298d5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.9119353} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8b4cb55e-9744-4b2f-ba8d-26197640a484","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.9121907} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"62e313b7d4aa941941b68414e2ec3f42","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23bf3ff-d16a-45ec-adef-37337ff3e60a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23bf3ff-d16a-45ec-adef-37337ff3e60a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:01.911919475Z"}]},"request_id":"1bde98e8-a0ca-40a1-b65d-685b42df1d0a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.918278} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"62e313b7d4aa941941b68414e2ec3f42","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"62e313b7d4aa941941b68414e2ec3f42"} gateway-1 | {"time_local":"05/May/2025:08:16:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"62e313b7d4aa941941b68414e2ec3f42"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"62e313b7d4aa941941b68414e2ec3f42","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MX0.mZf8wFb7xPT0syEVYCc34uK3PLvf2HQNDQtWXBk-JvI","level":"info","message":"auth send jwt","requestID":"e435aed244dba1aafc3ad84838a2011c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e435aed244dba1aafc3ad84838a2011c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e435aed244dba1aafc3ad84838a2011c"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":21.225419,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"e435aed244dba1aafc3ad84838a2011c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432961,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2MX0.mZf8wFb7xPT0syEVYCc34uK3PLvf2HQNDQtWXBk-JvI"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"e435aed244dba1aafc3ad84838a2011c","responseTime":24,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa56f6ceb-05fa-4079-a4ee-3ee03e01ac46","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"13842a84-6176-4e25-b875-c0508e00a3f2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432961.9724603} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e435aed244dba1aafc3ad84838a2011c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc929a0f-3a3e-46e1-b5a6-d2b130b01f70","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.0014052} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"e435aed244dba1aafc3ad84838a2011c","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa56f6ceb-05fa-4079-a4ee-3ee03e01ac46","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"30154c3b-26d3-4bf9-82c4-f88d9f044015","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.0130472} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"06927d3a-a284-440d-9bc0-4b640ec3bf05","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.0132165} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"e435aed244dba1aafc3ad84838a2011c","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa56f6ceb-05fa-4079-a4ee-3ee03e01ac46","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa56f6ceb-05fa-4079-a4ee-3ee03e01ac46","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.013030271Z"}]},"request_id":"c523e38f-891a-45d3-927a-993eb7a48ca3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.0170689} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e435aed244dba1aafc3ad84838a2011c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e435aed244dba1aafc3ad84838a2011c"} device-1 | {"level":"info","message":"POST /devices? 201 91ms","method":"POST","requestID":"e435aed244dba1aafc3ad84838a2011c","responseTime":91,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"05/May/2025:08:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.096","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e435aed244dba1aafc3ad84838a2011c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4","level":"info","message":"auth send jwt","requestID":"b095f4a7fc44f1ac6dac2a4b1fabd73f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b095f4a7fc44f1ac6dac2a4b1fabd73f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b095f4a7fc44f1ac6dac2a4b1fabd73f"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.833233,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"b095f4a7fc44f1ac6dac2a4b1fabd73f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"b095f4a7fc44f1ac6dac2a4b1fabd73f","responseTime":24,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbfe9d1eb-bc3e-4427-b8bc-aa8d2f806613","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"590fb5cc-bd17-4c87-8e95-7b15e8e69291","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.0595245} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b095f4a7fc44f1ac6dac2a4b1fabd73f","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f63af9bf-253c-432b-a6bf-e855c211ed8f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.0634282} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b095f4a7fc44f1ac6dac2a4b1fabd73f","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbfe9d1eb-bc3e-4427-b8bc-aa8d2f806613","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"4b2cb318-f8e1-46de-bfa5-1ce370ce760e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.071638} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f2b73af-e466-48cb-9d91-c198495b424c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.071746} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"b095f4a7fc44f1ac6dac2a4b1fabd73f","responseTime":35,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbfe9d1eb-bc3e-4427-b8bc-aa8d2f806613","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbfe9d1eb-bc3e-4427-b8bc-aa8d2f806613","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.071623683Z"}]},"request_id":"46ef7fea-37ff-4429-9908-dd299f0617f8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.0996413} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b095f4a7fc44f1ac6dac2a4b1fabd73f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b095f4a7fc44f1ac6dac2a4b1fabd73f"} device-1 | {"level":"info","message":"POST /devices? 201 77ms","method":"POST","requestID":"b095f4a7fc44f1ac6dac2a4b1fabd73f","responseTime":77,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"05/May/2025:08:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.081","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b095f4a7fc44f1ac6dac2a4b1fabd73f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4","level":"info","message":"auth send jwt","requestID":"1605a1ab3a14a9d0c63bb49003eb69c1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1605a1ab3a14a9d0c63bb49003eb69c1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"1605a1ab3a14a9d0c63bb49003eb69c1"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.673902,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"1605a1ab3a14a9d0c63bb49003eb69c1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1605a1ab3a14a9d0c63bb49003eb69c1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f0e2645-9e09-4d94-8fdd-33e1aa405286","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8a91a35d-56ab-42f9-a83a-3dd5dbffde1d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.1475084} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1605a1ab3a14a9d0c63bb49003eb69c1","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"17957d72-d4ad-4921-8a17-59e103b21805","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.151963} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"1605a1ab3a14a9d0c63bb49003eb69c1","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f0e2645-9e09-4d94-8fdd-33e1aa405286","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"574682cd-540a-4635-b699-463333457458","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.1632242} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7dbd956b-999c-4a1d-b35e-73889a42e95c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.1633894} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"1605a1ab3a14a9d0c63bb49003eb69c1","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f0e2645-9e09-4d94-8fdd-33e1aa405286","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f0e2645-9e09-4d94-8fdd-33e1aa405286","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.163210546Z"}]},"request_id":"16fdbe20-e922-4210-a679-7570452a187e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.1668985} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1605a1ab3a14a9d0c63bb49003eb69c1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1605a1ab3a14a9d0c63bb49003eb69c1"} gateway-1 | {"time_local":"05/May/2025:08:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1605a1ab3a14a9d0c63bb49003eb69c1"} device-1 | {"level":"info","message":"POST /devices? 201 87ms","method":"POST","requestID":"1605a1ab3a14a9d0c63bb49003eb69c1","responseTime":87,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4","level":"info","message":"auth send jwt","requestID":"bb7fad825f6b4388b06940a2a9e060da"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bb7fad825f6b4388b06940a2a9e060da","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bb7fad825f6b4388b06940a2a9e060da"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.724391,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"bb7fad825f6b4388b06940a2a9e060da","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bb7fad825f6b4388b06940a2a9e060da","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b861e3a-8949-400c-acc0-bf37ea2c41cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4ec9003a-86ff-4e74-b088-47b5c53f9b1c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.2144816} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bb7fad825f6b4388b06940a2a9e060da","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"36520bfe-71bb-487c-a2db-03d0b0f3e9bd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.2184849} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"bb7fad825f6b4388b06940a2a9e060da","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b861e3a-8949-400c-acc0-bf37ea2c41cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"a7178c79-061b-49d8-aef4-e3e62257de48","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.2516046} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6c2e900e-0042-4c18-865d-3c28fff27bfe","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.2519011} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"bb7fad825f6b4388b06940a2a9e060da","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b861e3a-8949-400c-acc0-bf37ea2c41cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b861e3a-8949-400c-acc0-bf37ea2c41cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.251587106Z"}]},"request_id":"af82a595-8de1-46fe-a53c-6883776a3c3d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.2554104} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bb7fad825f6b4388b06940a2a9e060da","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bb7fad825f6b4388b06940a2a9e060da"} gateway-1 | {"time_local":"05/May/2025:08:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bb7fad825f6b4388b06940a2a9e060da"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"bb7fad825f6b4388b06940a2a9e060da","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4","level":"info","message":"auth send jwt","requestID":"0f3bfa7d407560a4e5a97ad73bf52155"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0f3bfa7d407560a4e5a97ad73bf52155","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0f3bfa7d407560a4e5a97ad73bf52155"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":25.214694,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"0f3bfa7d407560a4e5a97ad73bf52155","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"0f3bfa7d407560a4e5a97ad73bf52155","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5594f0-6de0-48cc-866a-cef24c205d18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d6b1eec3-4f6a-4d68-a820-4782da2bcd68","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.3072102} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0f3bfa7d407560a4e5a97ad73bf52155","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7710c799-7d58-4b67-a366-ad0e73ff2e80","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.3119063} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"0f3bfa7d407560a4e5a97ad73bf52155","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5594f0-6de0-48cc-866a-cef24c205d18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"f5e6f2d3-d5f1-4731-9840-c44411f178f4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.3485384} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3793bf36-6106-4557-babf-ed2f59392f0a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.3492224} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"0f3bfa7d407560a4e5a97ad73bf52155","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5594f0-6de0-48cc-866a-cef24c205d18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5594f0-6de0-48cc-866a-cef24c205d18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.348523244Z"}]},"request_id":"e49b87ce-fb8c-4a31-8178-d53892bf49da","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.3535144} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0f3bfa7d407560a4e5a97ad73bf52155","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0f3bfa7d407560a4e5a97ad73bf52155"} gateway-1 | {"time_local":"05/May/2025:08:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.097","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0f3bfa7d407560a4e5a97ad73bf52155"} device-1 | {"level":"info","message":"POST /devices? 201 93ms","method":"POST","requestID":"0f3bfa7d407560a4e5a97ad73bf52155","responseTime":93,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4","level":"info","message":"auth send jwt","requestID":"f8bbf38898194e612d28dafe5bfaefb6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f8bbf38898194e612d28dafe5bfaefb6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"f8bbf38898194e612d28dafe5bfaefb6"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.901918,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f0e2645-9e09-4d94-8fdd-33e1aa405286","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"f8bbf38898194e612d28dafe5bfaefb6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/9f0e2645-9e09-4d94-8fdd-33e1aa405286","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f8bbf38898194e612d28dafe5bfaefb6","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f0e2645-9e09-4d94-8fdd-33e1aa405286","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f0e2645-9e09-4d94-8fdd-33e1aa405286","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.163210546Z"}]},"request_id":"1f42e183-aa66-4ba0-b636-6ac64624a4cc","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.375079} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f8bbf38898194e612d28dafe5bfaefb6","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da4332b7-f2b2-4d34-a847-d63e6660fe05","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.3808696} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"f8bbf38898194e612d28dafe5bfaefb6","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f0e2645-9e09-4d94-8fdd-33e1aa405286","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f0e2645-9e09-4d94-8fdd-33e1aa405286","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.163210546Z"}]},"request_id":"8899d095-42f1-4ba1-b1d7-d2e15afa7d80","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.3937294} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f8bbf38898194e612d28dafe5bfaefb6","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"f8bbf38898194e612d28dafe5bfaefb6"} gateway-1 | {"time_local":"05/May/2025:08:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9f0e2645-9e09-4d94-8fdd-33e1aa405286? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f8bbf38898194e612d28dafe5bfaefb6"} device-1 | {"level":"info","message":"PATCH /devices/9f0e2645-9e09-4d94-8fdd-33e1aa405286? 200 33ms","method":"PATCH","requestID":"f8bbf38898194e612d28dafe5bfaefb6","responseTime":33,"status":200,"url":"/devices/9f0e2645-9e09-4d94-8fdd-33e1aa405286?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4","level":"info","message":"auth send jwt","requestID":"9dc41193dc34ccce42e99dd29eacc2ca"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9dc41193dc34ccce42e99dd29eacc2ca","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"9dc41193dc34ccce42e99dd29eacc2ca"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743843,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b861e3a-8949-400c-acc0-bf37ea2c41cf","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"9dc41193dc34ccce42e99dd29eacc2ca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/7b861e3a-8949-400c-acc0-bf37ea2c41cf","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9dc41193dc34ccce42e99dd29eacc2ca","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b861e3a-8949-400c-acc0-bf37ea2c41cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b861e3a-8949-400c-acc0-bf37ea2c41cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.251587106Z"}]},"request_id":"b9d71a79-0803-4045-af39-d0dc38d7707f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.4102924} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9dc41193dc34ccce42e99dd29eacc2ca","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"136fd8a1-400a-483d-aacf-10e8d2066b01","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.4157064} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"9dc41193dc34ccce42e99dd29eacc2ca","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b861e3a-8949-400c-acc0-bf37ea2c41cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b861e3a-8949-400c-acc0-bf37ea2c41cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.251587106Z"}]},"request_id":"5de62b20-4fec-4e3b-80db-77821dfac11b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.4243035} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9dc41193dc34ccce42e99dd29eacc2ca","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"9dc41193dc34ccce42e99dd29eacc2ca"} gateway-1 | {"time_local":"05/May/2025:08:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7b861e3a-8949-400c-acc0-bf37ea2c41cf? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9dc41193dc34ccce42e99dd29eacc2ca"} device-1 | {"level":"info","message":"PATCH /devices/7b861e3a-8949-400c-acc0-bf37ea2c41cf? 200 25ms","method":"PATCH","requestID":"9dc41193dc34ccce42e99dd29eacc2ca","responseTime":25,"status":200,"url":"/devices/7b861e3a-8949-400c-acc0-bf37ea2c41cf?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4","level":"info","message":"auth send jwt","requestID":"ef231bd59357f32bd0bd370b62206ead"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ef231bd59357f32bd0bd370b62206ead","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"ef231bd59357f32bd0bd370b62206ead"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.643779,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/da5594f0-6de0-48cc-866a-cef24c205d18","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"ef231bd59357f32bd0bd370b62206ead","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/da5594f0-6de0-48cc-866a-cef24c205d18","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ef231bd59357f32bd0bd370b62206ead","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5594f0-6de0-48cc-866a-cef24c205d18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5594f0-6de0-48cc-866a-cef24c205d18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.348523244Z"}]},"request_id":"1f48e9a9-b126-4eac-af34-d995f17a679c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.4422386} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ef231bd59357f32bd0bd370b62206ead","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dad01a26-ee8b-4aeb-8770-3b1eff348b9e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.4464617} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ef231bd59357f32bd0bd370b62206ead","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5594f0-6de0-48cc-866a-cef24c205d18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5594f0-6de0-48cc-866a-cef24c205d18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.348523244Z"}]},"request_id":"d50a0626-669b-4db2-bafa-9a2049806d9d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.46084} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ef231bd59357f32bd0bd370b62206ead","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"ef231bd59357f32bd0bd370b62206ead"} gateway-1 | {"time_local":"05/May/2025:08:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/da5594f0-6de0-48cc-866a-cef24c205d18? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ef231bd59357f32bd0bd370b62206ead"} device-1 | {"level":"info","message":"PATCH /devices/da5594f0-6de0-48cc-866a-cef24c205d18? 200 32ms","method":"PATCH","requestID":"ef231bd59357f32bd0bd370b62206ead","responseTime":32,"status":200,"url":"/devices/da5594f0-6de0-48cc-866a-cef24c205d18?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4","level":"info","message":"auth send jwt","requestID":"6879eedf5c116341f9e589f6cd603c9a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6879eedf5c116341f9e589f6cd603c9a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6879eedf5c116341f9e589f6cd603c9a"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.642638,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f0e2645-9e09-4d94-8fdd-33e1aa405286","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6879eedf5c116341f9e589f6cd603c9a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/9f0e2645-9e09-4d94-8fdd-33e1aa405286","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"6879eedf5c116341f9e589f6cd603c9a","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f0e2645-9e09-4d94-8fdd-33e1aa405286","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f0e2645-9e09-4d94-8fdd-33e1aa405286","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.163210546Z"}]},"request_id":"d4570f1d-77a6-4985-aa40-f9b7ac1099cf","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.477303} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6879eedf5c116341f9e589f6cd603c9a","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.599025,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.531939,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c7579e1-d934-4367-87ec-f218f3bd61b1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6879eedf5c116341f9e589f6cd603c9a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/3c7579e1-d934-4367-87ec-f218f3bd61b1","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6879eedf5c116341f9e589f6cd603c9a","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc8ab086-d713-4265-a425-efeddf53649a","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6879eedf5c116341f9e589f6cd603c9a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/fc8ab086-d713-4265-a425-efeddf53649a","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6879eedf5c116341f9e589f6cd603c9a","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.63333,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b6208d0-a9ac-4aeb-a110-2d130626ebc9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6879eedf5c116341f9e589f6cd603c9a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/0b6208d0-a9ac-4aeb-a110-2d130626ebc9","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6879eedf5c116341f9e589f6cd603c9a","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.567732,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b861e3a-8949-400c-acc0-bf37ea2c41cf","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6879eedf5c116341f9e589f6cd603c9a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/7b861e3a-8949-400c-acc0-bf37ea2c41cf","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6879eedf5c116341f9e589f6cd603c9a","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6879eedf5c116341f9e589f6cd603c9a"} gateway-1 | {"time_local":"05/May/2025:08:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9f0e2645-9e09-4d94-8fdd-33e1aa405286? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6879eedf5c116341f9e589f6cd603c9a"} device-1 | {"level":"info","message":"GET /devices/9f0e2645-9e09-4d94-8fdd-33e1aa405286? 200 21ms","method":"GET","requestID":"6879eedf5c116341f9e589f6cd603c9a","responseTime":21,"status":200,"url":"/devices/9f0e2645-9e09-4d94-8fdd-33e1aa405286?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4","level":"info","message":"auth send jwt","requestID":"cbd5a16fc379d53c3701fbe197dc1a8f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cbd5a16fc379d53c3701fbe197dc1a8f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cbd5a16fc379d53c3701fbe197dc1a8f"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.654683,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b861e3a-8949-400c-acc0-bf37ea2c41cf","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"cbd5a16fc379d53c3701fbe197dc1a8f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/7b861e3a-8949-400c-acc0-bf37ea2c41cf","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cbd5a16fc379d53c3701fbe197dc1a8f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b861e3a-8949-400c-acc0-bf37ea2c41cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b861e3a-8949-400c-acc0-bf37ea2c41cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.251587106Z"}]},"request_id":"2163d7b6-1951-43e2-92e5-7e3422833cb2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.5019777} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cbd5a16fc379d53c3701fbe197dc1a8f","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.595303,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a492e066-0a18-4911-a082-833c30f8f9e1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"cbd5a16fc379d53c3701fbe197dc1a8f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/a492e066-0a18-4911-a082-833c30f8f9e1","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"cbd5a16fc379d53c3701fbe197dc1a8f","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.816342,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.586174,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/edced867-0390-4fbb-9265-40836508043b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"cbd5a16fc379d53c3701fbe197dc1a8f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/edced867-0390-4fbb-9265-40836508043b","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"cbd5a16fc379d53c3701fbe197dc1a8f","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/56336196-7891-4b22-b4f2-49c466ef9300","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"cbd5a16fc379d53c3701fbe197dc1a8f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/56336196-7891-4b22-b4f2-49c466ef9300","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"cbd5a16fc379d53c3701fbe197dc1a8f","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.683421,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f0e2645-9e09-4d94-8fdd-33e1aa405286","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"cbd5a16fc379d53c3701fbe197dc1a8f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/9f0e2645-9e09-4d94-8fdd-33e1aa405286","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cbd5a16fc379d53c3701fbe197dc1a8f","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.564975,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50912","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/da5594f0-6de0-48cc-866a-cef24c205d18","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"cbd5a16fc379d53c3701fbe197dc1a8f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/da5594f0-6de0-48cc-866a-cef24c205d18","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cbd5a16fc379d53c3701fbe197dc1a8f","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50912","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.448034,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7689fc00-42d8-45cd-9320-518a0b9fd2c8","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"cbd5a16fc379d53c3701fbe197dc1a8f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/7689fc00-42d8-45cd-9320-518a0b9fd2c8","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","method":"POST","requestID":"cbd5a16fc379d53c3701fbe197dc1a8f","responseTime":13,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cbd5a16fc379d53c3701fbe197dc1a8f"} gateway-1 | {"time_local":"05/May/2025:08:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7b861e3a-8949-400c-acc0-bf37ea2c41cf? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cbd5a16fc379d53c3701fbe197dc1a8f"} device-1 | {"level":"info","message":"GET /devices/7b861e3a-8949-400c-acc0-bf37ea2c41cf? 200 49ms","method":"GET","requestID":"cbd5a16fc379d53c3701fbe197dc1a8f","responseTime":49,"status":200,"url":"/devices/7b861e3a-8949-400c-acc0-bf37ea2c41cf?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4","level":"info","message":"auth send jwt","requestID":"75ae58deb302249a8183d423a1adea18"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"75ae58deb302249a8183d423a1adea18","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"75ae58deb302249a8183d423a1adea18"} authorization-1 | {"client_addr":"127.0.0.1:50912","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50912","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.669481,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/da5594f0-6de0-48cc-866a-cef24c205d18","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"75ae58deb302249a8183d423a1adea18","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/da5594f0-6de0-48cc-866a-cef24c205d18","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"75ae58deb302249a8183d423a1adea18","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5594f0-6de0-48cc-866a-cef24c205d18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5594f0-6de0-48cc-866a-cef24c205d18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.348523244Z"}]},"request_id":"8d5206d8-a9a2-4b84-882f-14aa0198b6a0","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.5793328} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"75ae58deb302249a8183d423a1adea18","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:50912","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50912","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.62652,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.517009,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.47272,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d23bf3ff-d16a-45ec-adef-37337ff3e60a","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"75ae58deb302249a8183d423a1adea18","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/d23bf3ff-d16a-45ec-adef-37337ff3e60a","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"75ae58deb302249a8183d423a1adea18","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a56f6ceb-05fa-4079-a4ee-3ee03e01ac46","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"75ae58deb302249a8183d423a1adea18","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/a56f6ceb-05fa-4079-a4ee-3ee03e01ac46","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"75ae58deb302249a8183d423a1adea18","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bfe9d1eb-bc3e-4427-b8bc-aa8d2f806613","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"75ae58deb302249a8183d423a1adea18","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/bfe9d1eb-bc3e-4427-b8bc-aa8d2f806613","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"75ae58deb302249a8183d423a1adea18","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.650137,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f0e2645-9e09-4d94-8fdd-33e1aa405286","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"75ae58deb302249a8183d423a1adea18","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/9f0e2645-9e09-4d94-8fdd-33e1aa405286","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"75ae58deb302249a8183d423a1adea18","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"75ae58deb302249a8183d423a1adea18"} gateway-1 | {"time_local":"05/May/2025:08:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/da5594f0-6de0-48cc-866a-cef24c205d18? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"75ae58deb302249a8183d423a1adea18"} device-1 | {"level":"info","message":"GET /devices/da5594f0-6de0-48cc-866a-cef24c205d18? 200 44ms","method":"GET","requestID":"75ae58deb302249a8183d423a1adea18","responseTime":44,"status":200,"url":"/devices/da5594f0-6de0-48cc-866a-cef24c205d18?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4","level":"info","message":"auth send jwt","requestID":"f45b7ee33b0a1de3ff4fe4fe89ec785c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f45b7ee33b0a1de3ff4fe4fe89ec785c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f45b7ee33b0a1de3ff4fe4fe89ec785c"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.621735,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"f45b7ee33b0a1de3ff4fe4fe89ec785c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"f45b7ee33b0a1de3ff4fe4fe89ec785c","responseTime":26,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"99b1e8c0-e45c-454e-8e51-3badd65c88ac","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.640611} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f45b7ee33b0a1de3ff4fe4fe89ec785c","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3565b146-fb44-437c-871f-75d7a935eb43","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.6444902} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f45b7ee33b0a1de3ff4fe4fe89ec785c","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"82f0578e-22c4-4f59-bd8e-021eaadaf7b5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.682073} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"37ad8437-ec91-43f8-906e-a70655c1cfb0","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.6821363} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"f45b7ee33b0a1de3ff4fe4fe89ec785c","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.682059090Z"}]},"request_id":"814f8328-e100-4337-bbac-40335b39a867","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.6856391} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f45b7ee33b0a1de3ff4fe4fe89ec785c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f45b7ee33b0a1de3ff4fe4fe89ec785c"} gateway-1 | {"time_local":"05/May/2025:08:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.093","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f45b7ee33b0a1de3ff4fe4fe89ec785c"} device-1 | {"level":"info","message":"POST /devices? 201 90ms","method":"POST","requestID":"f45b7ee33b0a1de3ff4fe4fe89ec785c","responseTime":90,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4","level":"info","message":"auth send jwt","requestID":"4308e900c9cf8d1c127ef49adbf17e62"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4308e900c9cf8d1c127ef49adbf17e62","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4308e900c9cf8d1c127ef49adbf17e62"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.716392,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4308e900c9cf8d1c127ef49adbf17e62","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4308e900c9cf8d1c127ef49adbf17e62","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5164895-55d5-4ac4-96b8-6d87135a791c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"936f58ef-0e32-4fdf-95e7-f901c878b981","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.7315419} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4308e900c9cf8d1c127ef49adbf17e62","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d4385003-7065-404f-bbef-425de868cc08","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.7351627} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"4308e900c9cf8d1c127ef49adbf17e62","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5164895-55d5-4ac4-96b8-6d87135a791c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"dcbb9f1f-fd4b-4c8f-847e-bde527b99822","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.7688656} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"57aca9e9-08af-496b-a247-79662c9c66ba","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.7690032} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"4308e900c9cf8d1c127ef49adbf17e62","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5164895-55d5-4ac4-96b8-6d87135a791c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5164895-55d5-4ac4-96b8-6d87135a791c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.744724685Z"}]},"request_id":"ecb369a8-2e9f-4709-932f-eeafd72a818b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.772639} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4308e900c9cf8d1c127ef49adbf17e62","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4308e900c9cf8d1c127ef49adbf17e62"} device-1 | {"level":"info","message":"POST /devices? 201 82ms","method":"POST","requestID":"4308e900c9cf8d1c127ef49adbf17e62","responseTime":82,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"05/May/2025:08:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.086","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4308e900c9cf8d1c127ef49adbf17e62"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4","level":"info","message":"auth send jwt","requestID":"8575610735b7281192dffb09e49d1ad3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8575610735b7281192dffb09e49d1ad3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8575610735b7281192dffb09e49d1ad3"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.682633,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"8575610735b7281192dffb09e49d1ad3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432962,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Mn0.kQEzgOt3ZKzxQig6CroHCq-jeJcDar0H3jD09fbdbp4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8575610735b7281192dffb09e49d1ad3","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce664a22-af57-4755-8a16-f3dced1faa31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f74d8c51-a618-4fc6-b65c-e7d2e708f156","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.8249228} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8575610735b7281192dffb09e49d1ad3","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8f78b36-f281-4752-83f0-4913c476501a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.8288023} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"8575610735b7281192dffb09e49d1ad3","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce664a22-af57-4755-8a16-f3dced1faa31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"6b86cf76-9409-49ce-b954-0e8c3d5cb743","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.839824} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d0cea46b-32d1-40b8-aee0-7deae98fe73e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.8400078} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"8575610735b7281192dffb09e49d1ad3","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce664a22-af57-4755-8a16-f3dced1faa31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce664a22-af57-4755-8a16-f3dced1faa31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.839802547Z"}]},"request_id":"67e03610-fdc5-42df-9394-769e9ed9a52e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432962.8474932} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8575610735b7281192dffb09e49d1ad3","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8575610735b7281192dffb09e49d1ad3"} device-1 | {"level":"info","message":"POST /devices? 201 70ms","method":"POST","requestID":"8575610735b7281192dffb09e49d1ad3","responseTime":70,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"05/May/2025:08:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.074","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8575610735b7281192dffb09e49d1ad3"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cdb16ddbb416fe5761f3edf192a47438","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cdb16ddbb416fe5761f3edf192a47438","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"49bd08f37c1a27b5f4f43ebfac486770","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"49bd08f37c1a27b5f4f43ebfac486770","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:16:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.003","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cdb16ddbb416fe5761f3edf192a47438"} device-1 | {"level":"info","message":"OPTIONS /devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e/websocket 200 1ms","method":"OPTIONS","requestID":"cdb16ddbb416fe5761f3edf192a47438","responseTime":1,"status":200,"url":"/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e/websocket"} gateway-1 | {"time_local":"05/May/2025:08:16:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ce664a22-af57-4755-8a16-f3dced1faa31/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"49bd08f37c1a27b5f4f43ebfac486770"} device-1 | {"level":"info","message":"OPTIONS /devices/ce664a22-af57-4755-8a16-f3dced1faa31/websocket 200 1ms","method":"OPTIONS","requestID":"49bd08f37c1a27b5f4f43ebfac486770","responseTime":1,"status":200,"url":"/devices/ce664a22-af57-4755-8a16-f3dced1faa31/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NH0.eFGvpkD2CMadt--9sH_QJtnZMOQBbi5Nv4LohQX1Rtc","level":"info","message":"auth send jwt","requestID":"8d2519088065d0e81e98315f7dd84384"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8d2519088065d0e81e98315f7dd84384","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NH0.eFGvpkD2CMadt--9sH_QJtnZMOQBbi5Nv4LohQX1Rtc","level":"info","message":"auth send jwt","requestID":"086776c9aa39054ebe107bd60613fbcd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8d2519088065d0e81e98315f7dd84384"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"086776c9aa39054ebe107bd60613fbcd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"086776c9aa39054ebe107bd60613fbcd"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:04Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.346624,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:04Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"8d2519088065d0e81e98315f7dd84384","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432964,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NH0.eFGvpkD2CMadt--9sH_QJtnZMOQBbi5Nv4LohQX1Rtc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8d2519088065d0e81e98315f7dd84384","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.83001,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"086776c9aa39054ebe107bd60613fbcd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432964,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NH0.eFGvpkD2CMadt--9sH_QJtnZMOQBbi5Nv4LohQX1Rtc"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"086776c9aa39054ebe107bd60613fbcd","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8d2519088065d0e81e98315f7dd84384"} device-1 | {"level":"info","message":"POST /devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e/websocket 200 30ms","method":"POST","requestID":"8d2519088065d0e81e98315f7dd84384","responseTime":30,"status":200,"url":"/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e/websocket"} gateway-1 | {"time_local":"05/May/2025:08:16:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.035","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8d2519088065d0e81e98315f7dd84384"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"086776c9aa39054ebe107bd60613fbcd"} gateway-1 | {"time_local":"05/May/2025:08:16:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ce664a22-af57-4755-8a16-f3dced1faa31/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.040","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"086776c9aa39054ebe107bd60613fbcd"} device-1 | {"level":"info","message":"POST /devices/ce664a22-af57-4755-8a16-f3dced1faa31/websocket 200 34ms","method":"POST","requestID":"086776c9aa39054ebe107bd60613fbcd","responseTime":34,"status":200,"url":"/devices/ce664a22-af57-4755-8a16-f3dced1faa31/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw","level":"info","message":"auth send jwt","requestID":"44df0d2131eaec31bc554f5a7decd687"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"44df0d2131eaec31bc554f5a7decd687","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"44df0d2131eaec31bc554f5a7decd687"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.717066,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"44df0d2131eaec31bc554f5a7decd687","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432965,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"44df0d2131eaec31bc554f5a7decd687","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce664a22-af57-4755-8a16-f3dced1faa31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce664a22-af57-4755-8a16-f3dced1faa31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.839802547Z"}]},"request_id":"27bfdc14-041f-461a-b298-b4e21595f414","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.0327122} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"44df0d2131eaec31bc554f5a7decd687","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"44df0d2131eaec31bc554f5a7decd687"} gateway-1 | {"time_local":"05/May/2025:08:16:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ce664a22-af57-4755-8a16-f3dced1faa31? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"44df0d2131eaec31bc554f5a7decd687"} device-1 | {"level":"info","message":"GET /devices/ce664a22-af57-4755-8a16-f3dced1faa31? 200 9ms","method":"GET","requestID":"44df0d2131eaec31bc554f5a7decd687","responseTime":9,"status":200,"url":"/devices/ce664a22-af57-4755-8a16-f3dced1faa31?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw","level":"info","message":"auth send jwt","requestID":"b30551de38fc4dd11eed2a05d62710e4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b30551de38fc4dd11eed2a05d62710e4","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"b30551de38fc4dd11eed2a05d62710e4"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.64792,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"b30551de38fc4dd11eed2a05d62710e4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432965,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b30551de38fc4dd11eed2a05d62710e4","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b"},"level":"info","message":"Attempting to run experiment","requestID":"b30551de38fc4dd11eed2a05d62710e4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b"},"level":"info","message":"Attempting to book experiment","requestID":"b30551de38fc4dd11eed2a05d62710e4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b"},"level":"info","message":"Successfully booked experiment","requestID":"b30551de38fc4dd11eed2a05d62710e4"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"30947760-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"30949e70-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.605526,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5164895-55d5-4ac4-96b8-6d87135a791c","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"30947760-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/e5164895-55d5-4ac4-96b8-6d87135a791c","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432965,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"30947760-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.934308,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"30949e70-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432965,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"30949e70-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5164895-55d5-4ac4-96b8-6d87135a791c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5164895-55d5-4ac4-96b8-6d87135a791c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.744724685Z"}]},"request_id":"73f60a7c-6f35-4db9-adcd-43a10169f628","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.087348} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"30947760-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce664a22-af57-4755-8a16-f3dced1faa31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce664a22-af57-4755-8a16-f3dced1faa31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.839802547Z"}]},"request_id":"54b26871-17c7-42e9-b718-68697110656e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.0881112} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"30949e70-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"30949e70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/ce664a22-af57-4755-8a16-f3dced1faa31? 200 14ms","method":"GET","requestID":"30949e70-2989-11f0-8876-6f29f2a860cb","responseTime":14,"status":200,"url":"/devices/ce664a22-af57-4755-8a16-f3dced1faa31?"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.117384,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"30947760-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432965,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"30947760-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"30947760-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/e5164895-55d5-4ac4-96b8-6d87135a791c? 200 47ms","method":"GET","requestID":"30947760-2989-11f0-8876-6f29f2a860cb","responseTime":47,"status":200,"url":"/devices/e5164895-55d5-4ac4-96b8-6d87135a791c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b"},"level":"info","message":"Setting up experiment","requestID":"b30551de38fc4dd11eed2a05d62710e4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"b30551de38fc4dd11eed2a05d62710e4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"b30551de38fc4dd11eed2a05d62710e4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"b30551de38fc4dd11eed2a05d62710e4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"b30551de38fc4dd11eed2a05d62710e4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"b30551de38fc4dd11eed2a05d62710e4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"b30551de38fc4dd11eed2a05d62710e4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b"},"level":"info","message":"Successfully set up experiment","requestID":"b30551de38fc4dd11eed2a05d62710e4"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"30a62aa0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"30a678c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"30a9d420-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"client_addr":"127.0.0.1:60762","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.676806,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.905357,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"30a62aa0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432965,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b"},"level":"info","message":"Successfully running experiment","requestID":"b30551de38fc4dd11eed2a05d62710e4"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"30a62aa0-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"30a678c0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432965,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"30a678c0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.336151,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3338c4da-176e-4eac-b4be-2bc79fa2f22d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.224128} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"30a9d420-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"30a9d420-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"30a9d420-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e/signaling 200 14ms","method":"POST","requestID":"30a9d420-2989-11f0-8876-6f29f2a860cb","responseTime":14,"status":200,"url":"/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"30ac6c30-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.682059090Z"}]},"request_id":"e958d4f8-481e-4fb5-9c65-7b013ec49cc6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.2324557} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"30a62aa0-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce664a22-af57-4755-8a16-f3dced1faa31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce664a22-af57-4755-8a16-f3dced1faa31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.839802547Z"}]},"request_id":"c0676f7a-e654-4ee7-85d0-ccec6855738e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.236729} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"30a62aa0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e? 200 46ms","method":"GET","requestID":"30a62aa0-2989-11f0-8876-6f29f2a860cb","responseTime":46,"status":200,"url":"/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","method":"POST","requestID":"30a678c0-2989-11f0-8876-6f29f2a860cb","responseTime":32,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce664a22-af57-4755-8a16-f3dced1faa31","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"662914c8-54f1-4fef-a905-ea79b4af6813","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.2654533} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.992198,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"30ac6c30-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"30ac6c30-2989-11f0-8876-6f29f2a860cb","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"30a678c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/ce664a22-af57-4755-8a16-f3dced1faa31? 200 74ms","method":"GET","requestID":"30a678c0-2989-11f0-8876-6f29f2a860cb","responseTime":74,"status":200,"url":"/devices/ce664a22-af57-4755-8a16-f3dced1faa31?"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d1c2102-7d83-40dc-8499-68269076ef7b#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d1c2102-7d83-40dc-8499-68269076ef7b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"e5e87190-2699-4246-a485-abbf9fb82a4b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.269957} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"800d4770-bd22-495d-a531-e9f934ad7660","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.2700918} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"30ac6c30-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/ce664a22-af57-4755-8a16-f3dced1faa31/signaling 200 37ms","method":"POST","requestID":"30ac6c30-2989-11f0-8876-6f29f2a860cb","responseTime":37,"status":200,"url":"/devices/ce664a22-af57-4755-8a16-f3dced1faa31/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","method":"POST","requestID":"b30551de38fc4dd11eed2a05d62710e4","responseTime":45,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"30b21180-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"37290933-0d21-4508-9c51-0f12f3eda8be","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.2771196} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.729831,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"b30551de38fc4dd11eed2a05d62710e4"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"30b21180-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"30b21180-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /experiments? 201 238ms","method":"POST","requestID":"b30551de38fc4dd11eed2a05d62710e4","responseTime":238,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"05/May/2025:08:16:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.243","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b30551de38fc4dd11eed2a05d62710e4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"30b21180-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e/signaling 200 10ms","method":"POST","requestID":"30b21180-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"30b3e640-2989-11f0-8876-6f29f2a860cb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw","level":"info","message":"auth send jwt","requestID":"82fa70129ed500140aef57a034c8bcf9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"82fa70129ed500140aef57a034c8bcf9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"82fa70129ed500140aef57a034c8bcf9"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce664a22-af57-4755-8a16-f3dced1faa31","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1e1abd85-5b39-4d4e-a7ce-fe57cf40d2f5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.3131661} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.694232,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"82fa70129ed500140aef57a034c8bcf9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432965,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"82fa70129ed500140aef57a034c8bcf9","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.637808,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"30b3e640-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"30b3e640-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.682059090Z"}]},"request_id":"94ede037-9769-4457-9656-cea1dd56683a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.3170483} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"30b3e640-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"82fa70129ed500140aef57a034c8bcf9","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/ce664a22-af57-4755-8a16-f3dced1faa31/signaling 200 34ms","method":"POST","requestID":"30b3e640-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/devices/ce664a22-af57-4755-8a16-f3dced1faa31/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"b30551de38fc4dd11eed2a05d62710e4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b"},"level":"info","message":"Building connection plan","requestID":"b30551de38fc4dd11eed2a05d62710e4"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"76ff08cd-5610-4a6f-af11-d7cda5e8075c"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"dc1c2d02-9771-49be-9b06-f50897617452"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"21c8acb1-1ba4-4742-b4bb-a716bf426567"}]},"level":"info","message":"Built pairwise service configurations","requestID":"b30551de38fc4dd11eed2a05d62710e4"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"b30551de38fc4dd11eed2a05d62710e4"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"82fa70129ed500140aef57a034c8bcf9"} gateway-1 | {"time_local":"05/May/2025:08:16:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"82fa70129ed500140aef57a034c8bcf9"} device-1 | {"level":"info","message":"GET /devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e? 200 34ms","method":"GET","requestID":"82fa70129ed500140aef57a034c8bcf9","responseTime":34,"status":200,"url":"/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"30b98b90-2989-11f0-8876-6f29f2a860cb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw","level":"info","message":"auth send jwt","requestID":"40450da65a0f3ee4fe0b3dae7d72e5e0"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"40450da65a0f3ee4fe0b3dae7d72e5e0","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.816193,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"40450da65a0f3ee4fe0b3dae7d72e5e0"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"30b98b90-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432965,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"30b98b90-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.357817,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"40450da65a0f3ee4fe0b3dae7d72e5e0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432965,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"40450da65a0f3ee4fe0b3dae7d72e5e0","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"311f437e-94fe-4eaa-bddb-efceac44d740","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.3322468} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1135c05f-6c52-4a19-9fd7-9f01462bc104","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.332977} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce664a22-af57-4755-8a16-f3dced1faa31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce664a22-af57-4755-8a16-f3dced1faa31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:02.839802547Z"}]},"request_id":"f833e90e-313f-4883-80ee-44b5c42e214d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.3337922} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"40450da65a0f3ee4fe0b3dae7d72e5e0","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"30b98b90-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"40450da65a0f3ee4fe0b3dae7d72e5e0"} device-1 | {"level":"info","message":"GET /devices/ce664a22-af57-4755-8a16-f3dced1faa31? 200 39ms","method":"GET","requestID":"40450da65a0f3ee4fe0b3dae7d72e5e0","responseTime":39,"status":200,"url":"/devices/ce664a22-af57-4755-8a16-f3dced1faa31?"} gateway-1 | {"time_local":"05/May/2025:08:16:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ce664a22-af57-4755-8a16-f3dced1faa31? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"40450da65a0f3ee4fe0b3dae7d72e5e0"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"30b98b90-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"30b98b90-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/d068912e-f49b-44ba-929b-abd395cf2cd4'","requestID":"30b98b90-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d068912e-f49b-44ba-929b-abd395cf2cd4'","requestID":"30b98b90-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"30b98b90-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 60ms","method":"POST","requestID":"30b98b90-2989-11f0-8876-6f29f2a860cb","responseTime":60,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"30b98b90-2989-11f0-8876-6f29f2a860cb"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/d068912e-f49b-44ba-929b-abd395cf2cd4","device":"ce664a22-af57-4755-8a16-f3dced1faa31","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/d068912e-f49b-44ba-929b-abd395cf2cd4","device":"1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"b30551de38fc4dd11eed2a05d62710e4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"30ca5470-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b4e33f74-dc4a-4c18-95ca-74e49aa764a1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.4401717} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.761351,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"30ca5470-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"30ca5470-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"30ca5470-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e/signaling 200 13ms","method":"POST","requestID":"30ca5470-2989-11f0-8876-6f29f2a860cb","responseTime":13,"status":200,"url":"/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"30cc9e60-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce664a22-af57-4755-8a16-f3dced1faa31","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74577f25-807c-4ce9-96bf-42e69ecd6027","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.450371} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.801568,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"30cc9e60-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"30cc9e60-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"ce664a22-af57-4755-8a16-f3dced1faa31","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"ce664a22-af57-4755-8a16-f3dced1faa31","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"30cc9e60-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/ce664a22-af57-4755-8a16-f3dced1faa31/signaling 200 14ms","method":"POST","requestID":"30cc9e60-2989-11f0-8876-6f29f2a860cb","responseTime":14,"status":200,"url":"/devices/ce664a22-af57-4755-8a16-f3dced1faa31/signaling"} device-1 | {"device":"1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 4431767031062108227 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:1J5S\r\na=ice-pwd:jTo9InSy/9B6Yky4tVWm+/zq\r\na=ice-options:trickle\r\na=fingerprint:sha-256 DE:D1:4F:49:D6:75:6F:0C:FE:10:25:75:FD:77:D7:78:82:56:02:63:E2:E9:3B:C7:CB:02:54:55:CF:4A:08:6D\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 1996187086707817242 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:Rygv\r\na=ice-pwd:PvxMEgKv2hbnoTBCkMWr9kgA\r\na=ice-options:trickle\r\na=fingerprint:sha-256 21:5E:7D:5A:26:73:23:C9:09:0F:A4:6B:E1:7C:33:5B:9F:AD:95:94:61:B2:AB:71:78:87:9D:BB:ED:F5:65:3A\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"ce664a22-af57-4755-8a16-f3dced1faa31","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3350748960 1 udp 2113937151 45b2c877-5579-4ca1-9afb-badd46fe4a91.local 57148 typ host generation 0 ufrag Rygv network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ce664a22-af57-4755-8a16-f3dced1faa31","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31'"} device-1 | {"content":{"candidate":"candidate:1730702261 1 udp 2113937151 60a087ea-0559-4dd8-b2f3-2f2d116b06d3.local 37711 typ host generation 0 ufrag 1J5S network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d068912e-f49b-44ba-929b-abd395cf2cd4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d068912e-f49b-44ba-929b-abd395cf2cd4","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ce664a22-af57-4755-8a16-f3dced1faa31","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"ce664a22-af57-4755-8a16-f3dced1faa31","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"872b7e43b3f0000d5ab1904e354ee137","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"872b7e43b3f0000d5ab1904e354ee137","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d068912e-f49b-44ba-929b-abd395cf2cd4"}}},"level":"info","message":"received a callback","requestID":"872b7e43b3f0000d5ab1904e354ee137"} device-1 | {"device":"ce664a22-af57-4755-8a16-f3dced1faa31","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"872b7e43b3f0000d5ab1904e354ee137","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"872b7e43b3f0000d5ab1904e354ee137"} device-1 | {"device":"ce664a22-af57-4755-8a16-f3dced1faa31","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"d068912e-f49b-44ba-929b-abd395cf2cd4","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"d068912e-f49b-44ba-929b-abd395cf2cd4","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d068912e-f49b-44ba-929b-abd395cf2cd4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d068912e-f49b-44ba-929b-abd395cf2cd4","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"aad5a31942da285ed616742249bccdc6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"aad5a31942da285ed616742249bccdc6","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d068912e-f49b-44ba-929b-abd395cf2cd4"}}},"level":"info","message":"received a callback","requestID":"aad5a31942da285ed616742249bccdc6"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"30d8ac50-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd068912e-f49b-44ba-929b-abd395cf2cd4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3096b801-67e1-48b6-99df-b960a3b9f992","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.5290108} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.266821,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d068912e-f49b-44ba-929b-abd395cf2cd4","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"30d8ac50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d068912e-f49b-44ba-929b-abd395cf2cd4","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"30d8ac50-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"30d8ac50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/d068912e-f49b-44ba-929b-abd395cf2cd4 200 18ms","method":"GET","requestID":"30d8ac50-2989-11f0-8876-6f29f2a860cb","responseTime":18,"status":200,"url":"/peerconnections/d068912e-f49b-44ba-929b-abd395cf2cd4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 50ms","method":"POST","requestID":"aad5a31942da285ed616742249bccdc6","responseTime":50,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch","requestID":"aad5a31942da285ed616742249bccdc6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"30dfb130-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce664a22-af57-4755-8a16-f3dced1faa31","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"61762226-278e-4f0d-8697-dd6314d9a38d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.5747366} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.12711,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"30dfb130-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"30dfb130-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"30dfb130-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/ce664a22-af57-4755-8a16-f3dced1faa31/signaling 200 32ms","method":"POST","requestID":"30dfb130-2989-11f0-8876-6f29f2a860cb","responseTime":32,"status":200,"url":"/devices/ce664a22-af57-4755-8a16-f3dced1faa31/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"30e50860-2989-11f0-8876-6f29f2a860cb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw","level":"info","message":"auth send jwt","requestID":"a03e9b08a6865aae04c8af5db56b9684"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a03e9b08a6865aae04c8af5db56b9684","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3d1c2102-7d83-40dc-8499-68269076ef7b","requestID":"a03e9b08a6865aae04c8af5db56b9684"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cadfbac6-13e6-4c03-a87a-1dd54bf67d19","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.6110144} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.710989,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"a03e9b08a6865aae04c8af5db56b9684","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432965,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a03e9b08a6865aae04c8af5db56b9684","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.286504,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"30e50860-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"30e50860-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"30e50860-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3d1c2102-7d83-40dc-8499-68269076ef7b","requestID":"a03e9b08a6865aae04c8af5db56b9684"} device-1 | {"level":"info","message":"POST /devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e/signaling 200 10ms","method":"POST","requestID":"30e50860-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e/signaling"} gateway-1 | {"time_local":"05/May/2025:08:16:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3d1c2102-7d83-40dc-8499-68269076ef7b HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a03e9b08a6865aae04c8af5db56b9684"} experiment-1 | {"level":"info","message":"GET /experiments/3d1c2102-7d83-40dc-8499-68269076ef7b 200 9ms","method":"GET","requestID":"a03e9b08a6865aae04c8af5db56b9684","responseTime":9,"status":200,"url":"/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw","level":"info","message":"auth send jwt","requestID":"5a53f3179827d34b01a10c559854a372"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5a53f3179827d34b01a10c559854a372","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3d1c2102-7d83-40dc-8499-68269076ef7b","requestID":"5a53f3179827d34b01a10c559854a372"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.72482,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5a53f3179827d34b01a10c559854a372","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432965,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"5a53f3179827d34b01a10c559854a372","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b"},"level":"info","message":"Attempting to finish experiment","requestID":"5a53f3179827d34b01a10c559854a372"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"30ec8270-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.682741,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d068912e-f49b-44ba-929b-abd395cf2cd4","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"30ec8270-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/d068912e-f49b-44ba-929b-abd395cf2cd4","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432965,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"30ec8270-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/d068912e-f49b-44ba-929b-abd395cf2cd4","device":"ce664a22-af57-4755-8a16-f3dced1faa31","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/d068912e-f49b-44ba-929b-abd395cf2cd4","device":"1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d068912e-f49b-44ba-929b-abd395cf2cd4' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d068912e-f49b-44ba-929b-abd395cf2cd4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d068912e-f49b-44ba-929b-abd395cf2cd4","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8064aca8421900f244526f6ee2baab9c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8064aca8421900f244526f6ee2baab9c","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"488b7abb698a644329671aa7e14f46e5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"488b7abb698a644329671aa7e14f46e5","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d068912e-f49b-44ba-929b-abd395cf2cd4"}}},"level":"info","message":"received a callback","requestID":"8064aca8421900f244526f6ee2baab9c"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d068912e-f49b-44ba-929b-abd395cf2cd4"}}},"level":"info","message":"received a callback","requestID":"488b7abb698a644329671aa7e14f46e5"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd068912e-f49b-44ba-929b-abd395cf2cd4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd068912e-f49b-44ba-929b-abd395cf2cd4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"38986571-2fef-47dd-9ddf-06a54eb59e1c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.6973958} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c4750b8-fb1c-45ff-95ee-4167bb64d95b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.6974964} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"30ec8270-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"d068912e-f49b-44ba-929b-abd395cf2cd4","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"30ec8270-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/d068912e-f49b-44ba-929b-abd395cf2cd4 204 61ms","method":"DELETE","requestID":"30ec8270-2989-11f0-8876-6f29f2a860cb","responseTime":61,"status":204,"url":"/peerconnections/d068912e-f49b-44ba-929b-abd395cf2cd4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b"},"level":"info","message":"Successfully finished experiment","requestID":"5a53f3179827d34b01a10c559854a372"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"30fb7690-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce664a22-af57-4755-8a16-f3dced1faa31","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7c8b8020-fd51-420f-9eaa-38900509b98b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.75774} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.493903,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"30fb7690-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"30fb7690-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"30fb7690-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/ce664a22-af57-4755-8a16-f3dced1faa31/signaling 200 9ms","method":"POST","requestID":"30fb7690-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/ce664a22-af57-4755-8a16-f3dced1faa31/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"30fd2440-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d1c2102-7d83-40dc-8499-68269076ef7b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d1c2102-7d83-40dc-8499-68269076ef7b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"fbc67b7d-03c8-421c-a55d-4e999867a306","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.7647724} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5d3766c6-6cb6-4a6a-9767-ee6ddb6fecd4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.7650323} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"5a53f3179827d34b01a10c559854a372","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"987fd29c-830a-4f9e-9237-3a77bc600d62","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.793487} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.104792,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"30fd2440-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"30fd2440-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"30fd2440-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e/signaling 200 34ms","method":"POST","requestID":"30fd2440-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3d1c2102-7d83-40dc-8499-68269076ef7b","requestID":"5a53f3179827d34b01a10c559854a372"} gateway-1 | {"time_local":"05/May/2025:08:16:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3d1c2102-7d83-40dc-8499-68269076ef7b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.274","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5a53f3179827d34b01a10c559854a372"} experiment-1 | {"level":"info","message":"DELETE /experiments/3d1c2102-7d83-40dc-8499-68269076ef7b 204 272ms","method":"DELETE","requestID":"5a53f3179827d34b01a10c559854a372","responseTime":272,"status":204,"url":"/experiments/3d1c2102-7d83-40dc-8499-68269076ef7b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 224ms","method":"POST","requestID":"8064aca8421900f244526f6ee2baab9c","responseTime":224,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.227","http_referrer":"","http_user_agent":"node-fetch","requestID":"8064aca8421900f244526f6ee2baab9c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 224ms","method":"POST","requestID":"488b7abb698a644329671aa7e14f46e5","responseTime":224,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.229","http_referrer":"","http_user_agent":"node-fetch","requestID":"488b7abb698a644329671aa7e14f46e5"} gateway-1 | {"time_local":"05/May/2025:08:16:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"0.885","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d3cf403b6c935771904ae75b57731022"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ce664a22-af57-4755-8a16-f3dced1faa31' closed"} gateway-1 | {"time_local":"05/May/2025:08:16:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"0.895","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"87ed92e42c695d338e0837783587a717"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw","level":"info","message":"auth send jwt","requestID":"89f8b1d80f68e01c1732fa63fb14a652"} authentication-1 | {"level":"info","message":"GET /auth 200 11ms","method":"GET","requestID":"89f8b1d80f68e01c1732fa63fb14a652","responseTime":11,"status":200,"url":"/auth"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1d67fe9a-ddc3-498d-a7ae-1b6d6c56b41e' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"89f8b1d80f68e01c1732fa63fb14a652"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.823653,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"89f8b1d80f68e01c1732fa63fb14a652","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432965,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","method":"POST","requestID":"89f8b1d80f68e01c1732fa63fb14a652","responseTime":16,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28e1c8ca-a98f-496a-8e64-b96655f35da1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c94ca30e-2e32-40fe-a8b2-850e90e1101e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.9493036} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"89f8b1d80f68e01c1732fa63fb14a652","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2f9bb7dd-9ed8-4a8f-a58e-c425729909e5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.9542403} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"89f8b1d80f68e01c1732fa63fb14a652","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28e1c8ca-a98f-496a-8e64-b96655f35da1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"4eafc8f4-094c-4625-962b-326220029c2f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.9639313} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b0794ba6-c54b-4439-b67e-8314845ed0be","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.9640572} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"89f8b1d80f68e01c1732fa63fb14a652","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28e1c8ca-a98f-496a-8e64-b96655f35da1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28e1c8ca-a98f-496a-8e64-b96655f35da1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:05.963911509Z"}]},"request_id":"e0ace92c-63f3-46be-b106-1e3b4352740c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.9680479} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"89f8b1d80f68e01c1732fa63fb14a652","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"89f8b1d80f68e01c1732fa63fb14a652"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"89f8b1d80f68e01c1732fa63fb14a652","responseTime":62,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"05/May/2025:08:16:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.075","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"89f8b1d80f68e01c1732fa63fb14a652"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw","level":"info","message":"auth send jwt","requestID":"a3c22a19488cf8261bb0fe573fe4bc6d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a3c22a19488cf8261bb0fe573fe4bc6d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a3c22a19488cf8261bb0fe573fe4bc6d"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.975616,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"a3c22a19488cf8261bb0fe573fe4bc6d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432965,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2NX0.DS0uwU39yFxZcxXmzOc7vkb3fKBXqs5-A47RfsGPsGw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a3c22a19488cf8261bb0fe573fe4bc6d","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee9272f3-7a4d-4d52-939f-57ad304398e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"846626e2-cb60-4651-a464-c8a12f42af59","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.9889855} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a3c22a19488cf8261bb0fe573fe4bc6d","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b45af590-a542-49b2-9668-52bf7ac6e16f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432965.993197} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a3c22a19488cf8261bb0fe573fe4bc6d","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee9272f3-7a4d-4d52-939f-57ad304398e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"f4d06612-f9de-4c74-a459-5590b6a463c3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432966.002285} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b758957b-79be-494a-8b42-207e50795f78","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432966.0025814} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"a3c22a19488cf8261bb0fe573fe4bc6d","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee9272f3-7a4d-4d52-939f-57ad304398e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee9272f3-7a4d-4d52-939f-57ad304398e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:06.002267747Z"}]},"request_id":"18b32dc3-03f5-40c7-a9d9-62d8adfc6fdb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432966.0067189} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a3c22a19488cf8261bb0fe573fe4bc6d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a3c22a19488cf8261bb0fe573fe4bc6d"} device-1 | {"level":"info","message":"POST /devices? 201 34ms","method":"POST","requestID":"a3c22a19488cf8261bb0fe573fe4bc6d","responseTime":34,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"05/May/2025:08:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a3c22a19488cf8261bb0fe573fe4bc6d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Nn0.D2oTlzqU1dEqW3c1M2TsRJM_dW_muogliaC1DH3B2OQ","level":"info","message":"auth send jwt","requestID":"cc6f16a03498879e642726743440f223"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cc6f16a03498879e642726743440f223","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"cc6f16a03498879e642726743440f223"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:06Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.672782,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"cc6f16a03498879e642726743440f223","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432966,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Nn0.D2oTlzqU1dEqW3c1M2TsRJM_dW_muogliaC1DH3B2OQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cc6f16a03498879e642726743440f223","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28e1c8ca-a98f-496a-8e64-b96655f35da1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28e1c8ca-a98f-496a-8e64-b96655f35da1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:05.963911509Z"}]},"request_id":"80449152-bb39-4b09-a9ed-13be9c864fbc","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432966.8696156} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cc6f16a03498879e642726743440f223","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d43ebbe-030e-4310-b257-a072e21be6a6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432966.8982456} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"cc6f16a03498879e642726743440f223","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28e1c8ca-a98f-496a-8e64-b96655f35da1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28e1c8ca-a98f-496a-8e64-b96655f35da1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:05.963911509Z"}]},"request_id":"8e75e3e4-735b-4d3c-bb06-4b8e753497e9","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432966.9540741} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cc6f16a03498879e642726743440f223","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"cc6f16a03498879e642726743440f223"} device-1 | {"level":"info","message":"PATCH /devices/28e1c8ca-a98f-496a-8e64-b96655f35da1 200 95ms","method":"PATCH","requestID":"cc6f16a03498879e642726743440f223","responseTime":95,"status":200,"url":"/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1"} gateway-1 | {"time_local":"05/May/2025:08:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/28e1c8ca-a98f-496a-8e64-b96655f35da1 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.100","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"cc6f16a03498879e642726743440f223"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Nn0.D2oTlzqU1dEqW3c1M2TsRJM_dW_muogliaC1DH3B2OQ","level":"info","message":"auth send jwt","requestID":"716f2d464b47eb6a9b5c2dc82da7bf8b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"716f2d464b47eb6a9b5c2dc82da7bf8b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"716f2d464b47eb6a9b5c2dc82da7bf8b"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:06Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.763791,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"716f2d464b47eb6a9b5c2dc82da7bf8b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432966,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2Nn0.D2oTlzqU1dEqW3c1M2TsRJM_dW_muogliaC1DH3B2OQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"716f2d464b47eb6a9b5c2dc82da7bf8b","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"716f2d464b47eb6a9b5c2dc82da7bf8b"} gateway-1 | {"time_local":"05/May/2025:08:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/28e1c8ca-a98f-496a-8e64-b96655f35da1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"716f2d464b47eb6a9b5c2dc82da7bf8b"} device-1 | {"level":"info","message":"POST /devices/28e1c8ca-a98f-496a-8e64-b96655f35da1/websocket 200 39ms","method":"POST","requestID":"716f2d464b47eb6a9b5c2dc82da7bf8b","responseTime":39,"status":200,"url":"/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3838318d1160270e714646bdbbd866ad","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3838318d1160270e714646bdbbd866ad","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:16:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ee9272f3-7a4d-4d52-939f-57ad304398e9/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3838318d1160270e714646bdbbd866ad"} device-1 | {"level":"info","message":"OPTIONS /devices/ee9272f3-7a4d-4d52-939f-57ad304398e9/websocket 200 2ms","method":"OPTIONS","requestID":"3838318d1160270e714646bdbbd866ad","responseTime":2,"status":200,"url":"/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2OH0.geQe9xqjKhp5So9KMn_2EVi3xhzTY-ShjXmM7SFbGQc","level":"info","message":"auth send jwt","requestID":"e8ef7da4ab53609f521218f73769c6b2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e8ef7da4ab53609f521218f73769c6b2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e8ef7da4ab53609f521218f73769c6b2"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.265323,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"e8ef7da4ab53609f521218f73769c6b2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432968,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2OH0.geQe9xqjKhp5So9KMn_2EVi3xhzTY-ShjXmM7SFbGQc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e8ef7da4ab53609f521218f73769c6b2","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e8ef7da4ab53609f521218f73769c6b2"} device-1 | {"level":"info","message":"POST /devices/ee9272f3-7a4d-4d52-939f-57ad304398e9/websocket 200 36ms","method":"POST","requestID":"e8ef7da4ab53609f521218f73769c6b2","responseTime":36,"status":200,"url":"/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9/websocket"} gateway-1 | {"time_local":"05/May/2025:08:16:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ee9272f3-7a4d-4d52-939f-57ad304398e9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e8ef7da4ab53609f521218f73769c6b2"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2OH0.geQe9xqjKhp5So9KMn_2EVi3xhzTY-ShjXmM7SFbGQc","level":"info","message":"auth send jwt","requestID":"c666c45130ee9ab9add79ae6422c879f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c666c45130ee9ab9add79ae6422c879f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c666c45130ee9ab9add79ae6422c879f"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.139303,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"c666c45130ee9ab9add79ae6422c879f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432968,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2OH0.geQe9xqjKhp5So9KMn_2EVi3xhzTY-ShjXmM7SFbGQc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c666c45130ee9ab9add79ae6422c879f","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28e1c8ca-a98f-496a-8e64-b96655f35da1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28e1c8ca-a98f-496a-8e64-b96655f35da1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:05.963911509Z"}]},"request_id":"16c348bc-f5b4-418e-9ecd-4fa0983199b4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432968.4056854} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c666c45130ee9ab9add79ae6422c879f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c666c45130ee9ab9add79ae6422c879f"} device-1 | {"level":"info","message":"GET /devices/28e1c8ca-a98f-496a-8e64-b96655f35da1? 200 17ms","method":"GET","requestID":"c666c45130ee9ab9add79ae6422c879f","responseTime":17,"status":200,"url":"/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1?"} gateway-1 | {"time_local":"05/May/2025:08:16:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/28e1c8ca-a98f-496a-8e64-b96655f35da1? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c666c45130ee9ab9add79ae6422c879f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2OH0.geQe9xqjKhp5So9KMn_2EVi3xhzTY-ShjXmM7SFbGQc","level":"info","message":"auth send jwt","requestID":"0b48e936614dd160ddc6e35d8921d186"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0b48e936614dd160ddc6e35d8921d186","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0b48e936614dd160ddc6e35d8921d186"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.840513,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"0b48e936614dd160ddc6e35d8921d186","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432968,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2OH0.geQe9xqjKhp5So9KMn_2EVi3xhzTY-ShjXmM7SFbGQc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0b48e936614dd160ddc6e35d8921d186","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee9272f3-7a4d-4d52-939f-57ad304398e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee9272f3-7a4d-4d52-939f-57ad304398e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:06.002267747Z"}]},"request_id":"3ad898e4-7752-454e-b2e1-9c1f31e4b78b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432968.4289742} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0b48e936614dd160ddc6e35d8921d186","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0b48e936614dd160ddc6e35d8921d186"} device-1 | {"level":"info","message":"GET /devices/ee9272f3-7a4d-4d52-939f-57ad304398e9? 200 15ms","method":"GET","requestID":"0b48e936614dd160ddc6e35d8921d186","responseTime":15,"status":200,"url":"/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9?"} gateway-1 | {"time_local":"05/May/2025:08:16:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ee9272f3-7a4d-4d52-939f-57ad304398e9? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b48e936614dd160ddc6e35d8921d186"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2OH0.geQe9xqjKhp5So9KMn_2EVi3xhzTY-ShjXmM7SFbGQc","level":"info","message":"auth send jwt","requestID":"239a61802fbc0c35121545f6edb36dca"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"239a61802fbc0c35121545f6edb36dca","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"239a61802fbc0c35121545f6edb36dca"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.68263,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"239a61802fbc0c35121545f6edb36dca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432968,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2OH0.geQe9xqjKhp5So9KMn_2EVi3xhzTY-ShjXmM7SFbGQc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"239a61802fbc0c35121545f6edb36dca","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763"},"level":"info","message":"Attempting to run experiment","requestID":"239a61802fbc0c35121545f6edb36dca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763"},"level":"info","message":"Attempting to book experiment","requestID":"239a61802fbc0c35121545f6edb36dca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763"},"level":"info","message":"Successfully booked experiment","requestID":"239a61802fbc0c35121545f6edb36dca"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"329e7830-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"329ec650-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.621461,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"329e7830-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432968,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2OH0.geQe9xqjKhp5So9KMn_2EVi3xhzTY-ShjXmM7SFbGQc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"329e7830-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.602152,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"329ec650-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432968,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2OH0.geQe9xqjKhp5So9KMn_2EVi3xhzTY-ShjXmM7SFbGQc"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"329ec650-2989-11f0-8876-6f29f2a860cb","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28e1c8ca-a98f-496a-8e64-b96655f35da1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28e1c8ca-a98f-496a-8e64-b96655f35da1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:05.963911509Z"}]},"request_id":"8b7f6f92-68a8-47ec-b605-ee0247d21750","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432968.5334167} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee9272f3-7a4d-4d52-939f-57ad304398e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee9272f3-7a4d-4d52-939f-57ad304398e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:06.002267747Z"}]},"request_id":"dfdc2438-6194-40b7-bb97-84f6dafcd51d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432968.5334527} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"329ec650-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"329e7830-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"329ec650-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/ee9272f3-7a4d-4d52-939f-57ad304398e9? 200 37ms","method":"GET","requestID":"329ec650-2989-11f0-8876-6f29f2a860cb","responseTime":37,"status":200,"url":"/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"329e7830-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/28e1c8ca-a98f-496a-8e64-b96655f35da1? 200 39ms","method":"GET","requestID":"329e7830-2989-11f0-8876-6f29f2a860cb","responseTime":39,"status":200,"url":"/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763"},"level":"info","message":"Setting up experiment","requestID":"239a61802fbc0c35121545f6edb36dca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"239a61802fbc0c35121545f6edb36dca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763"},"level":"info","message":"Successfully locked booking for experiment","requestID":"239a61802fbc0c35121545f6edb36dca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"239a61802fbc0c35121545f6edb36dca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"239a61802fbc0c35121545f6edb36dca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763"},"level":"info","message":"Attempting to update booking for experiment","requestID":"239a61802fbc0c35121545f6edb36dca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763"},"level":"info","message":"Successfully updated booking for experiment","requestID":"239a61802fbc0c35121545f6edb36dca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763"},"level":"info","message":"Successfully set up experiment","requestID":"239a61802fbc0c35121545f6edb36dca"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"32b1b210-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"32b20030-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"32b22740-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763"},"level":"info","message":"Successfully running experiment","requestID":"239a61802fbc0c35121545f6edb36dca"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.775128,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"32b1b210-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432968,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2OH0.geQe9xqjKhp5So9KMn_2EVi3xhzTY-ShjXmM7SFbGQc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"32b1b210-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50896","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.69738,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"32b20030-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432968,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2OH0.geQe9xqjKhp5So9KMn_2EVi3xhzTY-ShjXmM7SFbGQc"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"32b20030-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28e1c8ca-a98f-496a-8e64-b96655f35da1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"319f81a5-c2c4-42eb-a080-c9ec8f8504de","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432968.6354504} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.19268,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"32b22740-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"32b22740-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28e1c8ca-a98f-496a-8e64-b96655f35da1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28e1c8ca-a98f-496a-8e64-b96655f35da1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:05.963911509Z"}]},"request_id":"22810631-0cf8-4047-b3f6-3960d9988c5d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432968.63764} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"32b1b210-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"32b22740-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee9272f3-7a4d-4d52-939f-57ad304398e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee9272f3-7a4d-4d52-939f-57ad304398e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:06.002267747Z"}]},"request_id":"7aa94ace-d4c0-40f7-95bb-1d0f4335550c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432968.6396818} device-1 | {"level":"info","message":"POST /devices/28e1c8ca-a98f-496a-8e64-b96655f35da1/signaling 200 11ms","method":"POST","requestID":"32b22740-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"32b20030-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"32b47130-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"32b1b210-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:08Z"} device-1 | {"level":"info","message":"GET /devices/28e1c8ca-a98f-496a-8e64-b96655f35da1? 200 20ms","method":"GET","requestID":"32b1b210-2989-11f0-8876-6f29f2a860cb","responseTime":20,"status":200,"url":"/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"32b20030-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/ee9272f3-7a4d-4d52-939f-57ad304398e9? 200 19ms","method":"GET","requestID":"32b20030-2989-11f0-8876-6f29f2a860cb","responseTime":19,"status":200,"url":"/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9?"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee9272f3-7a4d-4d52-939f-57ad304398e9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"af02da6a-b929-44c1-980c-984733b2ce17","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432968.6469903} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.516166,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"32b47130-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"32b53480-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"32b47130-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/ee9272f3-7a4d-4d52-939f-57ad304398e9/signaling 200 33ms","method":"POST","requestID":"32b47130-2989-11f0-8876-6f29f2a860cb","responseTime":33,"status":200,"url":"/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"32b47130-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffa0b7071-6d7b-4774-ad08-05d8774bd763#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffa0b7071-6d7b-4774-ad08-05d8774bd763","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"e6e03138-25a8-4c5d-b419-bc0901b83192","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432968.6750402} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3a262306-1c70-4570-bd73-1943175e6f78","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432968.6753497} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","method":"POST","requestID":"239a61802fbc0c35121545f6edb36dca","responseTime":46,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28e1c8ca-a98f-496a-8e64-b96655f35da1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"43cf2b87-9598-4497-955a-484633c75a9e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432968.676957} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.375326,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"32b53480-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"32b53480-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"32b53480-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/28e1c8ca-a98f-496a-8e64-b96655f35da1/signaling 200 35ms","method":"POST","requestID":"32b53480-2989-11f0-8876-6f29f2a860cb","responseTime":35,"status":200,"url":"/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"239a61802fbc0c35121545f6edb36dca"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"32bad9d0-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"level":"info","message":"POST /experiments? 201 244ms","method":"POST","requestID":"239a61802fbc0c35121545f6edb36dca","responseTime":244,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"05/May/2025:08:16:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.249","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"239a61802fbc0c35121545f6edb36dca"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee9272f3-7a4d-4d52-939f-57ad304398e9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c514e4f4-52ab-488c-9550-961764cc93f9","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432968.690227} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.087924,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:08Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2OH0.geQe9xqjKhp5So9KMn_2EVi3xhzTY-ShjXmM7SFbGQc","level":"info","message":"auth send jwt","requestID":"b10bca34142631b76735c5d3faf44e34"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b10bca34142631b76735c5d3faf44e34","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"32bad9d0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"32bad9d0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b10bca34142631b76735c5d3faf44e34"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.913887,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:08Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"32bad9d0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/ee9272f3-7a4d-4d52-939f-57ad304398e9/signaling 200 10ms","method":"POST","requestID":"32bad9d0-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"b10bca34142631b76735c5d3faf44e34","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432968,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2OH0.geQe9xqjKhp5So9KMn_2EVi3xhzTY-ShjXmM7SFbGQc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b10bca34142631b76735c5d3faf44e34","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"239a61802fbc0c35121545f6edb36dca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763"},"level":"info","message":"Building connection plan","requestID":"239a61802fbc0c35121545f6edb36dca"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"cf335210-ed90-4a3c-a394-ded2f2d576b9"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"704463e3-f682-49d2-b18b-015bd97114fd"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"90e0c7cd-13af-4de7-9e7b-ef76c7ab6d53"}]},"level":"info","message":"Built pairwise service configurations","requestID":"239a61802fbc0c35121545f6edb36dca"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"239a61802fbc0c35121545f6edb36dca"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"32c07f20-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28e1c8ca-a98f-496a-8e64-b96655f35da1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28e1c8ca-a98f-496a-8e64-b96655f35da1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:05.963911509Z"}]},"request_id":"3fb53122-30c2-49c5-889f-effb3874783a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432968.7233536} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b10bca34142631b76735c5d3faf44e34","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.691294,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"32c07f20-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432968,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2OH0.geQe9xqjKhp5So9KMn_2EVi3xhzTY-ShjXmM7SFbGQc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"32c07f20-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b10bca34142631b76735c5d3faf44e34"} gateway-1 | {"time_local":"05/May/2025:08:16:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/28e1c8ca-a98f-496a-8e64-b96655f35da1? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b10bca34142631b76735c5d3faf44e34"} device-1 | {"level":"info","message":"GET /devices/28e1c8ca-a98f-496a-8e64-b96655f35da1? 200 36ms","method":"GET","requestID":"b10bca34142631b76735c5d3faf44e34","responseTime":36,"status":200,"url":"/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2OH0.geQe9xqjKhp5So9KMn_2EVi3xhzTY-ShjXmM7SFbGQc","level":"info","message":"auth send jwt","requestID":"3c9123b77ff13d8fcae18f0037ca2356"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3c9123b77ff13d8fcae18f0037ca2356","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3c9123b77ff13d8fcae18f0037ca2356"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"a3447abf-23f5-41ce-85ef-5028b9e4770c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432968.7332754} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3028b110-4adc-4228-872d-054c37896735","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432968.7333627} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"32c07f20-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.590944,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3c9123b77ff13d8fcae18f0037ca2356","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432968,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk2OH0.geQe9xqjKhp5So9KMn_2EVi3xhzTY-ShjXmM7SFbGQc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3c9123b77ff13d8fcae18f0037ca2356","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee9272f3-7a4d-4d52-939f-57ad304398e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee9272f3-7a4d-4d52-939f-57ad304398e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:06.002267747Z"}]},"request_id":"6d0c497b-4248-412e-b73e-dd1df7ef76ae","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432968.739513} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3c9123b77ff13d8fcae18f0037ca2356","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"32c07f20-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"32c07f20-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/6445b3d6-fed3-4a99-8338-3e6194d50bcd'","requestID":"32c07f20-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6445b3d6-fed3-4a99-8338-3e6194d50bcd'","requestID":"32c07f20-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"32c07f20-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 56ms","method":"POST","requestID":"32c07f20-2989-11f0-8876-6f29f2a860cb","responseTime":56,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3c9123b77ff13d8fcae18f0037ca2356"} gateway-1 | {"time_local":"05/May/2025:08:16:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ee9272f3-7a4d-4d52-939f-57ad304398e9? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3c9123b77ff13d8fcae18f0037ca2356"} device-1 | {"level":"info","message":"GET /devices/ee9272f3-7a4d-4d52-939f-57ad304398e9? 200 47ms","method":"GET","requestID":"3c9123b77ff13d8fcae18f0037ca2356","responseTime":47,"status":200,"url":"/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"32c07f20-2989-11f0-8876-6f29f2a860cb"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/6445b3d6-fed3-4a99-8338-3e6194d50bcd","device":"ee9272f3-7a4d-4d52-939f-57ad304398e9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"239a61802fbc0c35121545f6edb36dca"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"32d0d2d0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:08Z"} device-1 | {"device":"ee9272f3-7a4d-4d52-939f-57ad304398e9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"ee9272f3-7a4d-4d52-939f-57ad304398e9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28e1c8ca-a98f-496a-8e64-b96655f35da1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"089569cd-97f6-4668-9bcc-ae5533d7ad82","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432968.8345122} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.778969,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"32d0d2d0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"32d0d2d0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"32d0d2d0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/28e1c8ca-a98f-496a-8e64-b96655f35da1/signaling 200 11ms","method":"POST","requestID":"32d0d2d0-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"32d67820-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee9272f3-7a4d-4d52-939f-57ad304398e9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"89efa141-d201-47ae-a68b-ebc6a87b3265","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432968.8696194} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.079155,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"32d67820-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"32d67820-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"32d67820-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/ee9272f3-7a4d-4d52-939f-57ad304398e9/signaling 200 7ms","method":"POST","requestID":"32d67820-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9/signaling"} device-1 | {"device":"28e1c8ca-a98f-496a-8e64-b96655f35da1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"6445b3d6-fed3-4a99-8338-3e6194d50bcd","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 3027575858191829872 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:LWwh\r\na=ice-pwd:K5at1nwutpfwH0RhGB8QB0Gn\r\na=ice-options:trickle\r\na=fingerprint:sha-256 4D:B7:45:97:32:5F:71:8C:A6:83:F4:2D:DF:DF:F7:55:3C:C4:8F:BC:20:CA:81:9A:2B:F2:D1:2E:0D:4E:B5:A5\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"ee9272f3-7a4d-4d52-939f-57ad304398e9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3688390948 1 udp 2113937151 c4c4ceb7-f38a-495a-9e07-bda667b315a5.local 44551 typ host generation 0 ufrag LWwh network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ee9272f3-7a4d-4d52-939f-57ad304398e9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"ee9272f3-7a4d-4d52-939f-57ad304398e9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"28e1c8ca-a98f-496a-8e64-b96655f35da1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"28e1c8ca-a98f-496a-8e64-b96655f35da1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"28e1c8ca-a98f-496a-8e64-b96655f35da1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6445b3d6-fed3-4a99-8338-3e6194d50bcd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6445b3d6-fed3-4a99-8338-3e6194d50bcd","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ee9272f3-7a4d-4d52-939f-57ad304398e9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1e7edb590865a1a570f57a23ffea7d81","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"1e7edb590865a1a570f57a23ffea7d81","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6445b3d6-fed3-4a99-8338-3e6194d50bcd"}}},"level":"info","message":"received a callback","requestID":"1e7edb590865a1a570f57a23ffea7d81"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"1e7edb590865a1a570f57a23ffea7d81","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.006","http_referrer":"","http_user_agent":"node-fetch","requestID":"1e7edb590865a1a570f57a23ffea7d81"} device-1 | {"data":{"peerconnection":"6445b3d6-fed3-4a99-8338-3e6194d50bcd","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"28e1c8ca-a98f-496a-8e64-b96655f35da1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ee9272f3-7a4d-4d52-939f-57ad304398e9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"28e1c8ca-a98f-496a-8e64-b96655f35da1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"6445b3d6-fed3-4a99-8338-3e6194d50bcd","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ee9272f3-7a4d-4d52-939f-57ad304398e9","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6445b3d6-fed3-4a99-8338-3e6194d50bcd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6445b3d6-fed3-4a99-8338-3e6194d50bcd","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4a6111218f21b907464abee3edda3247","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4a6111218f21b907464abee3edda3247","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6445b3d6-fed3-4a99-8338-3e6194d50bcd"}}},"level":"info","message":"received a callback","requestID":"4a6111218f21b907464abee3edda3247"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"340a1620-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:10Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6445b3d6-fed3-4a99-8338-3e6194d50bcd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"858199e3-f9c8-4c87-901e-02833dad6f8c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432970.8864024} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.270473,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6445b3d6-fed3-4a99-8338-3e6194d50bcd","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"340a1620-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6445b3d6-fed3-4a99-8338-3e6194d50bcd","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"340a1620-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"340a1620-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/6445b3d6-fed3-4a99-8338-3e6194d50bcd 200 8ms","method":"GET","requestID":"340a1620-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/peerconnections/6445b3d6-fed3-4a99-8338-3e6194d50bcd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 61ms","method":"POST","requestID":"4a6111218f21b907464abee3edda3247","responseTime":61,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch","requestID":"4a6111218f21b907464abee3edda3247"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3412efc0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:10Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee9272f3-7a4d-4d52-939f-57ad304398e9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"756bd1f6-845d-49c6-8296-011cf91b2825","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432970.9440632} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.28293,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3412efc0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3412efc0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3412efc0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/ee9272f3-7a4d-4d52-939f-57ad304398e9/signaling 200 8ms","method":"POST","requestID":"3412efc0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"34147660-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:10Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28e1c8ca-a98f-496a-8e64-b96655f35da1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b32a037a-add9-4e52-bfd9-3f1db2217ae1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432970.979893} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.473745,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"34147660-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"34147660-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"34147660-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/28e1c8ca-a98f-496a-8e64-b96655f35da1/signaling 200 34ms","method":"POST","requestID":"34147660-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3MX0.-p1eh6YOPh1WwYWDj3nZZO5GKNdvP_XHc1juHgfYOYQ","level":"info","message":"auth send jwt","requestID":"ff38ec50b9b1e86cb715ce69ddb52232"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ff38ec50b9b1e86cb715ce69ddb52232","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763","requestID":"ff38ec50b9b1e86cb715ce69ddb52232"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:11Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.966173,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"ff38ec50b9b1e86cb715ce69ddb52232","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432971,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3MX0.-p1eh6YOPh1WwYWDj3nZZO5GKNdvP_XHc1juHgfYOYQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ff38ec50b9b1e86cb715ce69ddb52232","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763","requestID":"ff38ec50b9b1e86cb715ce69ddb52232"} experiment-1 | {"level":"info","message":"GET /experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763 200 11ms","method":"GET","requestID":"ff38ec50b9b1e86cb715ce69ddb52232","responseTime":11,"status":200,"url":"/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763"} gateway-1 | {"time_local":"05/May/2025:08:16:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ff38ec50b9b1e86cb715ce69ddb52232"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3MX0.-p1eh6YOPh1WwYWDj3nZZO5GKNdvP_XHc1juHgfYOYQ","level":"info","message":"auth send jwt","requestID":"933bf50f1b78eb1c1ae38aca2b44864b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"933bf50f1b78eb1c1ae38aca2b44864b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763","requestID":"933bf50f1b78eb1c1ae38aca2b44864b"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:11Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.051994,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:11Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"933bf50f1b78eb1c1ae38aca2b44864b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432971,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3MX0.-p1eh6YOPh1WwYWDj3nZZO5GKNdvP_XHc1juHgfYOYQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"933bf50f1b78eb1c1ae38aca2b44864b","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763"},"level":"info","message":"Attempting to finish experiment","requestID":"933bf50f1b78eb1c1ae38aca2b44864b"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"342e6700-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:11Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.68018,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:11Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6445b3d6-fed3-4a99-8338-3e6194d50bcd","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"342e6700-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/6445b3d6-fed3-4a99-8338-3e6194d50bcd","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432971,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3MX0.-p1eh6YOPh1WwYWDj3nZZO5GKNdvP_XHc1juHgfYOYQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"342e6700-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6445b3d6-fed3-4a99-8338-3e6194d50bcd","device":"ee9272f3-7a4d-4d52-939f-57ad304398e9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"28e1c8ca-a98f-496a-8e64-b96655f35da1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"28e1c8ca-a98f-496a-8e64-b96655f35da1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"28e1c8ca-a98f-496a-8e64-b96655f35da1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6445b3d6-fed3-4a99-8338-3e6194d50bcd' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6445b3d6-fed3-4a99-8338-3e6194d50bcd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6445b3d6-fed3-4a99-8338-3e6194d50bcd","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6445b3d6-fed3-4a99-8338-3e6194d50bcd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6445b3d6-fed3-4a99-8338-3e6194d50bcd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"7f7d68be-c8b9-4bc8-9468-f1c26cbced45","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432971.14092} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"caa10f8c-20d9-4aec-9695-e9f08850bbbd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432971.1412709} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9ae190658debe1adb15d7fc6c143036a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"9ae190658debe1adb15d7fc6c143036a","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"342e6700-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e542c5ed0ade7d411ba47ad845c4722c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e542c5ed0ade7d411ba47ad845c4722c","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6445b3d6-fed3-4a99-8338-3e6194d50bcd"}}},"level":"info","message":"received a callback","requestID":"9ae190658debe1adb15d7fc6c143036a"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6445b3d6-fed3-4a99-8338-3e6194d50bcd"}}},"level":"info","message":"received a callback","requestID":"e542c5ed0ade7d411ba47ad845c4722c"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"342e6700-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/6445b3d6-fed3-4a99-8338-3e6194d50bcd 204 40ms","method":"DELETE","requestID":"342e6700-2989-11f0-8876-6f29f2a860cb","responseTime":40,"status":204,"url":"/peerconnections/6445b3d6-fed3-4a99-8338-3e6194d50bcd"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763"},"level":"info","message":"Successfully finished experiment","requestID":"933bf50f1b78eb1c1ae38aca2b44864b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3436f280-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:11Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee9272f3-7a4d-4d52-939f-57ad304398e9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dc0d9b41-55af-48af-8b0b-108b7f3290db","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432971.1806731} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.465737,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3436f280-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3436f280-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3436f280-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/ee9272f3-7a4d-4d52-939f-57ad304398e9/signaling 200 8ms","method":"POST","requestID":"3436f280-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"34387920-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffa0b7071-6d7b-4774-ad08-05d8774bd763': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffa0b7071-6d7b-4774-ad08-05d8774bd763","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"032f4673-2aea-4c9f-8535-ba245f2e7e2c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432971.1872227} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5810a70a-02ce-499f-9c49-40a2777d69b5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432971.1874135} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"933bf50f1b78eb1c1ae38aca2b44864b","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:11Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28e1c8ca-a98f-496a-8e64-b96655f35da1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cffcff6f-b6ac-43c1-8fca-7687066f3df1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432971.1909747} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.180806,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"34387920-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"34387920-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"34387920-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/28e1c8ca-a98f-496a-8e64-b96655f35da1/signaling 200 9ms","method":"POST","requestID":"34387920-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763","requestID":"933bf50f1b78eb1c1ae38aca2b44864b"} gateway-1 | {"time_local":"05/May/2025:08:16:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.160","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"933bf50f1b78eb1c1ae38aca2b44864b"} experiment-1 | {"level":"info","message":"DELETE /experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763 204 157ms","method":"DELETE","requestID":"933bf50f1b78eb1c1ae38aca2b44864b","responseTime":157,"status":204,"url":"/experiments/fa0b7071-6d7b-4774-ad08-05d8774bd763"} gateway-1 | {"time_local":"05/May/2025:08:16:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2290","request_time":"4.264","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"ba0b36312017bc801f5d35cbbd8e5f08"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/28e1c8ca-a98f-496a-8e64-b96655f35da1' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 126ms","method":"POST","requestID":"9ae190658debe1adb15d7fc6c143036a","responseTime":126,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.129","http_referrer":"","http_user_agent":"node-fetch","requestID":"9ae190658debe1adb15d7fc6c143036a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3MX0.-p1eh6YOPh1WwYWDj3nZZO5GKNdvP_XHc1juHgfYOYQ","level":"info","message":"auth send jwt","requestID":"a0e522e27eacc075d018bd0686707681"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 126ms","method":"POST","requestID":"e542c5ed0ade7d411ba47ad845c4722c","responseTime":126,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.129","http_referrer":"","http_user_agent":"node-fetch","requestID":"e542c5ed0ade7d411ba47ad845c4722c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a0e522e27eacc075d018bd0686707681","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a0e522e27eacc075d018bd0686707681"} gateway-1 | {"time_local":"05/May/2025:08:16:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"2.897","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f5055a915f4b07d4de333e6dae666a78"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ee9272f3-7a4d-4d52-939f-57ad304398e9' closed"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:11Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.847232,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"a0e522e27eacc075d018bd0686707681","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432971,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3MX0.-p1eh6YOPh1WwYWDj3nZZO5GKNdvP_XHc1juHgfYOYQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a0e522e27eacc075d018bd0686707681","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3796eb51-14d7-4fed-8c6e-a2df2b0283a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fcbb8aca-6350-422c-986b-b30adac8a095","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432971.3165698} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a0e522e27eacc075d018bd0686707681","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5d2df45e-14cb-4dc8-bc54-915295a46c0b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432971.3216615} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"a0e522e27eacc075d018bd0686707681","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3796eb51-14d7-4fed-8c6e-a2df2b0283a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"1dd30d28-54d8-432e-8303-dad93df5eaef","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432971.3330405} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a2e82578-68b2-4cd9-89a5-07dd7f8bdc86","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432971.3332055} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"a0e522e27eacc075d018bd0686707681","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3796eb51-14d7-4fed-8c6e-a2df2b0283a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3796eb51-14d7-4fed-8c6e-a2df2b0283a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:11.333024176Z"}]},"request_id":"dd884e76-b802-4bdf-b65c-2b7119c0dd78","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432971.3617625} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"a0e522e27eacc075d018bd0686707681","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a0e522e27eacc075d018bd0686707681"} gateway-1 | {"time_local":"05/May/2025:08:16:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a0e522e27eacc075d018bd0686707681"} device-1 | {"level":"info","message":"POST /devices? 201 91ms","method":"POST","requestID":"a0e522e27eacc075d018bd0686707681","responseTime":91,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3MX0.-p1eh6YOPh1WwYWDj3nZZO5GKNdvP_XHc1juHgfYOYQ","level":"info","message":"auth send jwt","requestID":"04a1915c1fa26d8eb3ec883b7bd7c2e9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"04a1915c1fa26d8eb3ec883b7bd7c2e9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"04a1915c1fa26d8eb3ec883b7bd7c2e9"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:11Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.712161,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"04a1915c1fa26d8eb3ec883b7bd7c2e9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432971,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3MX0.-p1eh6YOPh1WwYWDj3nZZO5GKNdvP_XHc1juHgfYOYQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"04a1915c1fa26d8eb3ec883b7bd7c2e9","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc001c63-36c3-4175-9704-4d489c1f237e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"eac452a0-3ae9-49d9-b159-0a890cb15806","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432971.4096093} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"04a1915c1fa26d8eb3ec883b7bd7c2e9","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bdffcb7b-dc3c-4eee-a3b8-376564f558aa","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432971.4146028} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"04a1915c1fa26d8eb3ec883b7bd7c2e9","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc001c63-36c3-4175-9704-4d489c1f237e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"572eab51-d7c9-43ee-b0c9-61f7eb3ce17f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432971.4241962} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5284ee98-a73b-481b-9c50-38a426f46d77","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432971.4243994} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"04a1915c1fa26d8eb3ec883b7bd7c2e9","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc001c63-36c3-4175-9704-4d489c1f237e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc001c63-36c3-4175-9704-4d489c1f237e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:11.424180806Z"}]},"request_id":"9d9b435f-c8f3-4dc6-b4ba-cf5007bde673","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432971.4287004} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"04a1915c1fa26d8eb3ec883b7bd7c2e9","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"04a1915c1fa26d8eb3ec883b7bd7c2e9"} gateway-1 | {"time_local":"05/May/2025:08:16:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"04a1915c1fa26d8eb3ec883b7bd7c2e9"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"04a1915c1fa26d8eb3ec883b7bd7c2e9","responseTime":62,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5507172e66697036408939015c39328f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5507172e66697036408939015c39328f","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"04aedcc20475af1b1ccff44bd2e50a26","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} gateway-1 | {"time_local":"05/May/2025:08:16:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5507172e66697036408939015c39328f"} device-1 | {"level":"info","message":"OPTIONS /devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3/websocket 200 1ms","method":"OPTIONS","requestID":"5507172e66697036408939015c39328f","responseTime":1,"status":200,"url":"/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3/websocket"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"04aedcc20475af1b1ccff44bd2e50a26","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:16:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bc001c63-36c3-4175-9704-4d489c1f237e/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"04aedcc20475af1b1ccff44bd2e50a26"} device-1 | {"level":"info","message":"OPTIONS /devices/bc001c63-36c3-4175-9704-4d489c1f237e/websocket 200 1ms","method":"OPTIONS","requestID":"04aedcc20475af1b1ccff44bd2e50a26","responseTime":1,"status":200,"url":"/devices/bc001c63-36c3-4175-9704-4d489c1f237e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3M30.PfLhw0LmtBFET4Sy5Sc4H0RpRYXI-3TM-pd7kNmv5og","level":"info","message":"auth send jwt","requestID":"2968b3f6db04873f42abc069204c662a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2968b3f6db04873f42abc069204c662a","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3M30.PfLhw0LmtBFET4Sy5Sc4H0RpRYXI-3TM-pd7kNmv5og","level":"info","message":"auth send jwt","requestID":"b16ce570357c0152f2b659d1640c4319"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2968b3f6db04873f42abc069204c662a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b16ce570357c0152f2b659d1640c4319","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b16ce570357c0152f2b659d1640c4319"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.183679,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2968b3f6db04873f42abc069204c662a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432973,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3M30.PfLhw0LmtBFET4Sy5Sc4H0RpRYXI-3TM-pd7kNmv5og"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2968b3f6db04873f42abc069204c662a","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.045178,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"b16ce570357c0152f2b659d1640c4319","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432973,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3M30.PfLhw0LmtBFET4Sy5Sc4H0RpRYXI-3TM-pd7kNmv5og"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b16ce570357c0152f2b659d1640c4319","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2968b3f6db04873f42abc069204c662a"} gateway-1 | {"time_local":"05/May/2025:08:16:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2968b3f6db04873f42abc069204c662a"} device-1 | {"level":"info","message":"POST /devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3/websocket 200 39ms","method":"POST","requestID":"2968b3f6db04873f42abc069204c662a","responseTime":39,"status":200,"url":"/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b16ce570357c0152f2b659d1640c4319"} gateway-1 | {"time_local":"05/May/2025:08:16:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bc001c63-36c3-4175-9704-4d489c1f237e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.051","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b16ce570357c0152f2b659d1640c4319"} device-1 | {"level":"info","message":"POST /devices/bc001c63-36c3-4175-9704-4d489c1f237e/websocket 200 46ms","method":"POST","requestID":"b16ce570357c0152f2b659d1640c4319","responseTime":46,"status":200,"url":"/devices/bc001c63-36c3-4175-9704-4d489c1f237e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3M30.PfLhw0LmtBFET4Sy5Sc4H0RpRYXI-3TM-pd7kNmv5og","level":"info","message":"auth send jwt","requestID":"bdd88d17ce8416a3235ec271fe3bab27"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bdd88d17ce8416a3235ec271fe3bab27","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bdd88d17ce8416a3235ec271fe3bab27"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.632788,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"bdd88d17ce8416a3235ec271fe3bab27","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432973,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3M30.PfLhw0LmtBFET4Sy5Sc4H0RpRYXI-3TM-pd7kNmv5og"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bdd88d17ce8416a3235ec271fe3bab27","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3796eb51-14d7-4fed-8c6e-a2df2b0283a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3796eb51-14d7-4fed-8c6e-a2df2b0283a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:11.333024176Z"}]},"request_id":"db77ea3c-babb-481c-8ba0-40371e51ec92","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432973.7454102} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bdd88d17ce8416a3235ec271fe3bab27","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bdd88d17ce8416a3235ec271fe3bab27"} gateway-1 | {"time_local":"05/May/2025:08:16:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bdd88d17ce8416a3235ec271fe3bab27"} device-1 | {"level":"info","message":"GET /devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3? 200 9ms","method":"GET","requestID":"bdd88d17ce8416a3235ec271fe3bab27","responseTime":9,"status":200,"url":"/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3M30.PfLhw0LmtBFET4Sy5Sc4H0RpRYXI-3TM-pd7kNmv5og","level":"info","message":"auth send jwt","requestID":"288da011dcea046fa5588f966c372169"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"288da011dcea046fa5588f966c372169","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"288da011dcea046fa5588f966c372169"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.738147,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"288da011dcea046fa5588f966c372169","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432973,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3M30.PfLhw0LmtBFET4Sy5Sc4H0RpRYXI-3TM-pd7kNmv5og"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"288da011dcea046fa5588f966c372169","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc001c63-36c3-4175-9704-4d489c1f237e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc001c63-36c3-4175-9704-4d489c1f237e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:11.424180806Z"}]},"request_id":"f3f5ccbc-3a32-40c8-9ece-c0ee3c54f3a5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432973.7597342} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"288da011dcea046fa5588f966c372169","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"288da011dcea046fa5588f966c372169"} device-1 | {"level":"info","message":"GET /devices/bc001c63-36c3-4175-9704-4d489c1f237e? 200 11ms","method":"GET","requestID":"288da011dcea046fa5588f966c372169","responseTime":11,"status":200,"url":"/devices/bc001c63-36c3-4175-9704-4d489c1f237e?"} gateway-1 | {"time_local":"05/May/2025:08:16:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bc001c63-36c3-4175-9704-4d489c1f237e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"288da011dcea046fa5588f966c372169"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3M30.PfLhw0LmtBFET4Sy5Sc4H0RpRYXI-3TM-pd7kNmv5og","level":"info","message":"auth send jwt","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.020706,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432973,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3M30.PfLhw0LmtBFET4Sy5Sc4H0RpRYXI-3TM-pd7kNmv5og"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e12afdca-6409-4e54-b588-ef8401061b30"},"level":"info","message":"Attempting to run experiment","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e12afdca-6409-4e54-b588-ef8401061b30"},"level":"info","message":"Attempting to book experiment","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e12afdca-6409-4e54-b588-ef8401061b30"},"level":"info","message":"Successfully booked experiment","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"35ca63c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"35ca8ad0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.692785,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"35ca63c0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432973,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3M30.PfLhw0LmtBFET4Sy5Sc4H0RpRYXI-3TM-pd7kNmv5og"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"35ca63c0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.561336,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"35ca8ad0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432973,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3M30.PfLhw0LmtBFET4Sy5Sc4H0RpRYXI-3TM-pd7kNmv5og"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"35ca8ad0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3796eb51-14d7-4fed-8c6e-a2df2b0283a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3796eb51-14d7-4fed-8c6e-a2df2b0283a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:11.333024176Z"}]},"request_id":"870ab4e2-0562-41cf-bd87-19c85b5bb340","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432973.827138} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"35ca63c0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc001c63-36c3-4175-9704-4d489c1f237e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc001c63-36c3-4175-9704-4d489c1f237e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:11.424180806Z"}]},"request_id":"ca17f8d3-c14c-49f9-9591-fc5664267e24","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432973.8280468} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"35ca8ad0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"35ca63c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3? 200 12ms","method":"GET","requestID":"35ca63c0-2989-11f0-8876-6f29f2a860cb","responseTime":12,"status":200,"url":"/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"35ca8ad0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/bc001c63-36c3-4175-9704-4d489c1f237e? 200 36ms","method":"GET","requestID":"35ca8ad0-2989-11f0-8876-6f29f2a860cb","responseTime":36,"status":200,"url":"/devices/bc001c63-36c3-4175-9704-4d489c1f237e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e12afdca-6409-4e54-b588-ef8401061b30"},"level":"info","message":"Setting up experiment","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e12afdca-6409-4e54-b588-ef8401061b30"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e12afdca-6409-4e54-b588-ef8401061b30"},"level":"info","message":"Successfully locked booking for experiment","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e12afdca-6409-4e54-b588-ef8401061b30"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e12afdca-6409-4e54-b588-ef8401061b30"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e12afdca-6409-4e54-b588-ef8401061b30"},"level":"info","message":"Attempting to update booking for experiment","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e12afdca-6409-4e54-b588-ef8401061b30"},"level":"info","message":"Successfully updated booking for experiment","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e12afdca-6409-4e54-b588-ef8401061b30"},"level":"info","message":"Successfully set up experiment","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"35d909c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"35d930d0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"35d957e0-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e12afdca-6409-4e54-b588-ef8401061b30"},"level":"info","message":"Successfully running experiment","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:50892","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.82634,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"35d909c0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432973,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3M30.PfLhw0LmtBFET4Sy5Sc4H0RpRYXI-3TM-pd7kNmv5og"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"35d909c0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.615207,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"35d930d0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432973,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3M30.PfLhw0LmtBFET4Sy5Sc4H0RpRYXI-3TM-pd7kNmv5og"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"35d930d0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51584","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc001c63-36c3-4175-9704-4d489c1f237e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc001c63-36c3-4175-9704-4d489c1f237e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:11.424180806Z"}]},"request_id":"0445386b-b88b-4ca7-aaf3-9c5f05303d39","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432973.9270804} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"35d930d0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3796eb51-14d7-4fed-8c6e-a2df2b0283a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3796eb51-14d7-4fed-8c6e-a2df2b0283a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:11.333024176Z"}]},"request_id":"584a40bf-be4d-4ab5-84e9-675b366da5c3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432973.927803} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3796eb51-14d7-4fed-8c6e-a2df2b0283a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e2e90249-a320-40e6-a9e8-304c98fd9b00","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432973.9284306} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"35d909c0-2989-11f0-8876-6f29f2a860cb","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:51584","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.511227,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"35d957e0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"35d957e0-2989-11f0-8876-6f29f2a860cb","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"35d930d0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/bc001c63-36c3-4175-9704-4d489c1f237e? 200 40ms","method":"GET","requestID":"35d930d0-2989-11f0-8876-6f29f2a860cb","responseTime":40,"status":200,"url":"/devices/bc001c63-36c3-4175-9704-4d489c1f237e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"35d909c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3? 200 42ms","method":"GET","requestID":"35d909c0-2989-11f0-8876-6f29f2a860cb","responseTime":42,"status":200,"url":"/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"35d957e0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3/signaling 200 40ms","method":"POST","requestID":"35d957e0-2989-11f0-8876-6f29f2a860cb","responseTime":40,"status":200,"url":"/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"35dfc080-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"35dfe790-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe12afdca-6409-4e54-b588-ef8401061b30#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe12afdca-6409-4e54-b588-ef8401061b30","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"1b29bf41-b8f6-4531-ab9a-fe7c247ba5de","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432973.9613957} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4836ef85-4416-45da-89b6-b8de31bb1281","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432973.961711} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:51584","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3796eb51-14d7-4fed-8c6e-a2df2b0283a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cdaaf225-8865-45a4-b014-50501161d559","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432973.9648218} authorization-1 | {"client_addr":"127.0.0.1:51584","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.096861,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"35dfc080-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"35dfc080-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.138832,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:13Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc001c63-36c3-4175-9704-4d489c1f237e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e79bf5c-cbfa-4d8d-9fda-88f70d8c3ef1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432973.968859} experiment-1 | {"data":{"experiment":"http://localhost/experiments/e12afdca-6409-4e54-b588-ef8401061b30","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"35dfe790-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"35dfe790-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"05/May/2025:08:16:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"777","request_time":"0.209","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 206ms","method":"POST","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c","responseTime":206,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"35dfc080-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3/signaling 200 15ms","method":"POST","requestID":"35dfc080-2989-11f0-8876-6f29f2a860cb","responseTime":15,"status":200,"url":"/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"35dfe790-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/bc001c63-36c3-4175-9704-4d489c1f237e/signaling 200 40ms","method":"POST","requestID":"35dfe790-2989-11f0-8876-6f29f2a860cb","responseTime":40,"status":200,"url":"/devices/bc001c63-36c3-4175-9704-4d489c1f237e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3NH0.glJ7CGJpPGFSkM3tNo_o5DV8WfcNSybgdZL6y6I9dwQ","level":"info","message":"auth send jwt","requestID":"67c8368b6406b80f17c3d766be0d9743"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"35e62920-2989-11f0-8876-6f29f2a860cb"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"67c8368b6406b80f17c3d766be0d9743","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"67c8368b6406b80f17c3d766be0d9743"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"client_addr":"127.0.0.1:51584","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc001c63-36c3-4175-9704-4d489c1f237e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f3432910-d8d2-4e4e-8734-a3fc661b2b2f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.0062695} authorization-1 | {"client_addr":"127.0.0.1:51584","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.628406,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.916328,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"67c8368b6406b80f17c3d766be0d9743","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432974,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3NH0.glJ7CGJpPGFSkM3tNo_o5DV8WfcNSybgdZL6y6I9dwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"67c8368b6406b80f17c3d766be0d9743","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"35e62920-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"35e62920-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3796eb51-14d7-4fed-8c6e-a2df2b0283a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3796eb51-14d7-4fed-8c6e-a2df2b0283a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:11.333024176Z"}]},"request_id":"fc33be10-17cb-4deb-87c1-d2729b472aea","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.0113025} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"35e62920-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/bc001c63-36c3-4175-9704-4d489c1f237e/signaling 200 10ms","method":"POST","requestID":"35e62920-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/bc001c63-36c3-4175-9704-4d489c1f237e/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"67c8368b6406b80f17c3d766be0d9743","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e12afdca-6409-4e54-b588-ef8401061b30"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e12afdca-6409-4e54-b588-ef8401061b30"},"level":"info","message":"Building connection plan","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"2fff028f-5a9c-400d-89b5-0622d0ba5856"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"9ecb3acf-993f-40e4-a682-e5eae3c30a0d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"30569d15-074a-43a5-a3d7-5eed5f6b63c2"}]},"level":"info","message":"Built pairwise service configurations","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"67c8368b6406b80f17c3d766be0d9743"} gateway-1 | {"time_local":"05/May/2025:08:16:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"67c8368b6406b80f17c3d766be0d9743"} device-1 | {"level":"info","message":"GET /devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3? 200 11ms","method":"GET","requestID":"67c8368b6406b80f17c3d766be0d9743","responseTime":11,"status":200,"url":"/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"35e824f0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.72352,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:14Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3NH0.glJ7CGJpPGFSkM3tNo_o5DV8WfcNSybgdZL6y6I9dwQ","level":"info","message":"auth send jwt","requestID":"5d8934c40acb27c07b67698ba5da3871"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5d8934c40acb27c07b67698ba5da3871","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"35e824f0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432973,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3M30.PfLhw0LmtBFET4Sy5Sc4H0RpRYXI-3TM-pd7kNmv5og"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"35e824f0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5d8934c40acb27c07b67698ba5da3871"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.906901,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5d8934c40acb27c07b67698ba5da3871","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432974,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3NH0.glJ7CGJpPGFSkM3tNo_o5DV8WfcNSybgdZL6y6I9dwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5d8934c40acb27c07b67698ba5da3871","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc001c63-36c3-4175-9704-4d489c1f237e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc001c63-36c3-4175-9704-4d489c1f237e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:11.424180806Z"}]},"request_id":"0d93d7ef-1faf-4408-9ec2-6c749657180a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.0514271} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5d8934c40acb27c07b67698ba5da3871","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"755d0c5f-ca21-4063-951f-d6dbcfd923cb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.0522938} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ec70d6d-a16f-4cd3-acca-ddb8363d6724","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.0532777} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"35e824f0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5d8934c40acb27c07b67698ba5da3871"} gateway-1 | {"time_local":"05/May/2025:08:16:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bc001c63-36c3-4175-9704-4d489c1f237e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5d8934c40acb27c07b67698ba5da3871"} device-1 | {"level":"info","message":"GET /devices/bc001c63-36c3-4175-9704-4d489c1f237e? 200 36ms","method":"GET","requestID":"5d8934c40acb27c07b67698ba5da3871","responseTime":36,"status":200,"url":"/devices/bc001c63-36c3-4175-9704-4d489c1f237e?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"35e824f0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"35e824f0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/5369a28f-82df-41fc-bef8-7035769225bb'","requestID":"35e824f0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5369a28f-82df-41fc-bef8-7035769225bb'","requestID":"35e824f0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"35e824f0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 56ms","method":"POST","requestID":"35e824f0-2989-11f0-8876-6f29f2a860cb","responseTime":56,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"35e824f0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/5369a28f-82df-41fc-bef8-7035769225bb","device":"bc001c63-36c3-4175-9704-4d489c1f237e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/5369a28f-82df-41fc-bef8-7035769225bb","device":"3796eb51-14d7-4fed-8c6e-a2df2b0283a3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":true} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"35f878a0-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e12afdca-6409-4e54-b588-ef8401061b30"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"e3a5e9fde3f7191f8fd6ec9bc972044c"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3796eb51-14d7-4fed-8c6e-a2df2b0283a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d3a89337-9294-46b7-85af-0c2cb678fdc2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.146231} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.83607,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"35f878a0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"35f878a0-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"device":"bc001c63-36c3-4175-9704-4d489c1f237e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"bc001c63-36c3-4175-9704-4d489c1f237e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"35f878a0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3/signaling 200 41ms","method":"POST","requestID":"35f878a0-2989-11f0-8876-6f29f2a860cb","responseTime":41,"status":200,"url":"/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"35ff0850-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:14Z"} device-1 | {"device":"3796eb51-14d7-4fed-8c6e-a2df2b0283a3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"3796eb51-14d7-4fed-8c6e-a2df2b0283a3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc001c63-36c3-4175-9704-4d489c1f237e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12706eac-52d0-49b2-9942-4aad96f0d2fc","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.1967297} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.84406,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"35ff0850-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"35ff0850-2989-11f0-8876-6f29f2a860cb","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"35ff0850-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/bc001c63-36c3-4175-9704-4d489c1f237e/signaling 200 45ms","method":"POST","requestID":"35ff0850-2989-11f0-8876-6f29f2a860cb","responseTime":45,"status":200,"url":"/devices/bc001c63-36c3-4175-9704-4d489c1f237e/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 1116677159864870600 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:id86\r\na=ice-pwd:UchUhn3Bb4GqZxH75QKjL6s9\r\na=ice-options:trickle\r\na=fingerprint:sha-256 FD:07:48:1E:4E:8D:2B:D6:2A:94:69:B5:3E:57:D9:F8:83:70:5E:27:54:8E:14:4C:E1:2B:35:F4:8C:F3:D4:0E\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"3796eb51-14d7-4fed-8c6e-a2df2b0283a3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 6408440636549769289 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:jDTH\r\na=ice-pwd:MUUrCfgRil/SEMG31kIoFErg\r\na=ice-options:trickle\r\na=fingerprint:sha-256 91:93:9A:19:6F:AC:31:F0:08:0A:4C:27:27:DB:19:47:F9:FE:3A:21:61:32:36:1D:41:8C:E7:54:8D:5C:51:21\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"bc001c63-36c3-4175-9704-4d489c1f237e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:600799224 1 udp 2113937151 bc96b158-2380-4a9f-a556-e8349edc4a00.local 40388 typ host generation 0 ufrag jDTH network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"bc001c63-36c3-4175-9704-4d489c1f237e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e'"} device-1 | {"content":{"candidate":"candidate:352800334 1 udp 2113937151 80dccbcd-b56b-4c00-ae8d-7c0108572fc6.local 45578 typ host generation 0 ufrag id86 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"3796eb51-14d7-4fed-8c6e-a2df2b0283a3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"3796eb51-14d7-4fed-8c6e-a2df2b0283a3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5369a28f-82df-41fc-bef8-7035769225bb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5369a28f-82df-41fc-bef8-7035769225bb","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"45c4d7d00ec316b02f00db877b21de35","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"45c4d7d00ec316b02f00db877b21de35","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5369a28f-82df-41fc-bef8-7035769225bb"}}},"level":"info","message":"received a callback","requestID":"45c4d7d00ec316b02f00db877b21de35"} device-1 | {"device":"bc001c63-36c3-4175-9704-4d489c1f237e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"3796eb51-14d7-4fed-8c6e-a2df2b0283a3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"bc001c63-36c3-4175-9704-4d489c1f237e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"45c4d7d00ec316b02f00db877b21de35","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"45c4d7d00ec316b02f00db877b21de35"} device-1 | {"device":"bc001c63-36c3-4175-9704-4d489c1f237e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"3796eb51-14d7-4fed-8c6e-a2df2b0283a3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"5369a28f-82df-41fc-bef8-7035769225bb","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"bc001c63-36c3-4175-9704-4d489c1f237e","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"5369a28f-82df-41fc-bef8-7035769225bb","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5369a28f-82df-41fc-bef8-7035769225bb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5369a28f-82df-41fc-bef8-7035769225bb","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"60dc021ab022c33a5225bfc3cc54c5df","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"60dc021ab022c33a5225bfc3cc54c5df","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5369a28f-82df-41fc-bef8-7035769225bb"}}},"level":"info","message":"received a callback","requestID":"60dc021ab022c33a5225bfc3cc54c5df"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"361c0630-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5369a28f-82df-41fc-bef8-7035769225bb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"36f4eb8a-1f5f-46c9-aa0b-9c993929579e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.3606853} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":27.177669,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5369a28f-82df-41fc-bef8-7035769225bb","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"361c0630-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5369a28f-82df-41fc-bef8-7035769225bb","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"361c0630-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"361c0630-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/5369a28f-82df-41fc-bef8-7035769225bb 200 34ms","method":"GET","requestID":"361c0630-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/peerconnections/5369a28f-82df-41fc-bef8-7035769225bb"} gateway-1 | {"time_local":"05/May/2025:08:16:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch","requestID":"60dc021ab022c33a5225bfc3cc54c5df"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 61ms","method":"POST","requestID":"60dc021ab022c33a5225bfc3cc54c5df","responseTime":61,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"362491b0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc001c63-36c3-4175-9704-4d489c1f237e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a50de9e8-c7d1-4a8c-8cfc-29db8b931878","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.4401617} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.735313,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"362491b0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"362491b0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"362491b0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/bc001c63-36c3-4175-9704-4d489c1f237e/signaling 200 34ms","method":"POST","requestID":"362491b0-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/devices/bc001c63-36c3-4175-9704-4d489c1f237e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"362a0ff0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3796eb51-14d7-4fed-8c6e-a2df2b0283a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4322fe68-427c-48fb-aa63-87f05a0ec550","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.452315} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.870985,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"362a0ff0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"362a0ff0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"362a0ff0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3/signaling 200 34ms","method":"POST","requestID":"362a0ff0-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3NH0.glJ7CGJpPGFSkM3tNo_o5DV8WfcNSybgdZL6y6I9dwQ","level":"info","message":"auth send jwt","requestID":"4ab3febbadaa7d0ed8b33d56040c6dc4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4ab3febbadaa7d0ed8b33d56040c6dc4","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e12afdca-6409-4e54-b588-ef8401061b30","requestID":"4ab3febbadaa7d0ed8b33d56040c6dc4"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.623468,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e12afdca-6409-4e54-b588-ef8401061b30","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4ab3febbadaa7d0ed8b33d56040c6dc4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/e12afdca-6409-4e54-b588-ef8401061b30","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432974,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3NH0.glJ7CGJpPGFSkM3tNo_o5DV8WfcNSybgdZL6y6I9dwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4ab3febbadaa7d0ed8b33d56040c6dc4","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e12afdca-6409-4e54-b588-ef8401061b30","requestID":"4ab3febbadaa7d0ed8b33d56040c6dc4"} gateway-1 | {"time_local":"05/May/2025:08:16:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e12afdca-6409-4e54-b588-ef8401061b30 HTTP/1.1","status": "200","body_bytes_sent":"850","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ab3febbadaa7d0ed8b33d56040c6dc4"} experiment-1 | {"level":"info","message":"GET /experiments/e12afdca-6409-4e54-b588-ef8401061b30 200 10ms","method":"GET","requestID":"4ab3febbadaa7d0ed8b33d56040c6dc4","responseTime":10,"status":200,"url":"/experiments/e12afdca-6409-4e54-b588-ef8401061b30"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3NH0.glJ7CGJpPGFSkM3tNo_o5DV8WfcNSybgdZL6y6I9dwQ","level":"info","message":"auth send jwt","requestID":"24c0a7321859cb1c901467df5e329237"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"24c0a7321859cb1c901467df5e329237","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e12afdca-6409-4e54-b588-ef8401061b30","requestID":"24c0a7321859cb1c901467df5e329237"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.041603,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e12afdca-6409-4e54-b588-ef8401061b30","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"24c0a7321859cb1c901467df5e329237","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/e12afdca-6409-4e54-b588-ef8401061b30","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432974,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3NH0.glJ7CGJpPGFSkM3tNo_o5DV8WfcNSybgdZL6y6I9dwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"24c0a7321859cb1c901467df5e329237","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e12afdca-6409-4e54-b588-ef8401061b30"},"level":"info","message":"Attempting to finish experiment","requestID":"24c0a7321859cb1c901467df5e329237"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"36545440-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.660674,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5369a28f-82df-41fc-bef8-7035769225bb","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"36545440-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/5369a28f-82df-41fc-bef8-7035769225bb","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432974,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3NH0.glJ7CGJpPGFSkM3tNo_o5DV8WfcNSybgdZL6y6I9dwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"36545440-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/5369a28f-82df-41fc-bef8-7035769225bb","device":"bc001c63-36c3-4175-9704-4d489c1f237e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/5369a28f-82df-41fc-bef8-7035769225bb","device":"3796eb51-14d7-4fed-8c6e-a2df2b0283a3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5369a28f-82df-41fc-bef8-7035769225bb' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5369a28f-82df-41fc-bef8-7035769225bb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5369a28f-82df-41fc-bef8-7035769225bb","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5369a28f-82df-41fc-bef8-7035769225bb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5369a28f-82df-41fc-bef8-7035769225bb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"d88b595e-9d28-416a-accb-b2f089178f69","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.738356} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"db77754a-424d-4c2e-ba1a-cb8307d6b892","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.73871} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"12199ce1f6cc24468bc60df45f6ffbf8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"12199ce1f6cc24468bc60df45f6ffbf8","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"36545440-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6d0ffb273719b81cde99aec2a5908127","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5369a28f-82df-41fc-bef8-7035769225bb"}}},"level":"info","message":"received a callback","requestID":"12199ce1f6cc24468bc60df45f6ffbf8"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6d0ffb273719b81cde99aec2a5908127","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5369a28f-82df-41fc-bef8-7035769225bb"}}},"level":"info","message":"received a callback","requestID":"6d0ffb273719b81cde99aec2a5908127"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"36545440-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/5369a28f-82df-41fc-bef8-7035769225bb 204 19ms","method":"DELETE","requestID":"36545440-2989-11f0-8876-6f29f2a860cb","responseTime":19,"status":204,"url":"/peerconnections/5369a28f-82df-41fc-bef8-7035769225bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e12afdca-6409-4e54-b588-ef8401061b30"},"level":"info","message":"Successfully finished experiment","requestID":"24c0a7321859cb1c901467df5e329237"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"365a6ec0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc001c63-36c3-4175-9704-4d489c1f237e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2193b472-1719-48e4-a7b7-732a9186fe50","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.7690105} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.120568,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"365a6ec0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"365a6ec0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"365a6ec0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/bc001c63-36c3-4175-9704-4d489c1f237e/signaling 200 9ms","method":"POST","requestID":"365a6ec0-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/bc001c63-36c3-4175-9704-4d489c1f237e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"365c1c70-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe12afdca-6409-4e54-b588-ef8401061b30': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe12afdca-6409-4e54-b588-ef8401061b30","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"c8bb0bcd-7ead-408b-be43-9698f4fe2237","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.7782874} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9321c503-9ed3-46a1-9fea-2b4ba760bd77","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.7785544} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"24c0a7321859cb1c901467df5e329237","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3796eb51-14d7-4fed-8c6e-a2df2b0283a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ccad116b-2a41-4c2e-b8bc-b6b5ca965796","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.7815354} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.00689,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"365c1c70-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"365c1c70-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"365c1c70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3/signaling 200 10ms","method":"POST","requestID":"365c1c70-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e12afdca-6409-4e54-b588-ef8401061b30","requestID":"24c0a7321859cb1c901467df5e329237"} gateway-1 | {"time_local":"05/May/2025:08:16:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e12afdca-6409-4e54-b588-ef8401061b30 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.205","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"24c0a7321859cb1c901467df5e329237"} experiment-1 | {"level":"info","message":"DELETE /experiments/e12afdca-6409-4e54-b588-ef8401061b30 204 203ms","method":"DELETE","requestID":"24c0a7321859cb1c901467df5e329237","responseTime":203,"status":204,"url":"/experiments/e12afdca-6409-4e54-b588-ef8401061b30"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 175ms","method":"POST","requestID":"12199ce1f6cc24468bc60df45f6ffbf8","responseTime":175,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.179","http_referrer":"","http_user_agent":"node-fetch","requestID":"12199ce1f6cc24468bc60df45f6ffbf8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 176ms","method":"POST","requestID":"6d0ffb273719b81cde99aec2a5908127","responseTime":176,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch","requestID":"6d0ffb273719b81cde99aec2a5908127"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3NH0.glJ7CGJpPGFSkM3tNo_o5DV8WfcNSybgdZL6y6I9dwQ","level":"info","message":"auth send jwt","requestID":"685bc13ba7f361ea773107f8b62ddf10"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"685bc13ba7f361ea773107f8b62ddf10","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"685bc13ba7f361ea773107f8b62ddf10"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:14Z"} gateway-1 | {"time_local":"05/May/2025:08:16:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2322","request_time":"1.194","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c2c1acfc3ae83ed0646410c06876cab0"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.963046,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:14Z"} gateway-1 | {"time_local":"05/May/2025:08:16:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2322","request_time":"1.201","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"22c9880b436a65266899bf3ec4fc495b"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"685bc13ba7f361ea773107f8b62ddf10","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432974,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3NH0.glJ7CGJpPGFSkM3tNo_o5DV8WfcNSybgdZL6y6I9dwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"685bc13ba7f361ea773107f8b62ddf10","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/bc001c63-36c3-4175-9704-4d489c1f237e' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3796eb51-14d7-4fed-8c6e-a2df2b0283a3' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc7d2194-f633-4357-8ba9-aad0acb00b28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3821aaaf-44be-45c9-9f36-03aa448902b9","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.9445426} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"685bc13ba7f361ea773107f8b62ddf10","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3f806a5-c4c4-4664-83de-0df6947c101d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.9482245} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"685bc13ba7f361ea773107f8b62ddf10","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc7d2194-f633-4357-8ba9-aad0acb00b28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"e90600a0-4b6f-46b7-9842-ea66dc82e398","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.970348} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"280254e1-8890-4c2f-b0c0-293c7a01c54e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.9704444} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"685bc13ba7f361ea773107f8b62ddf10","responseTime":24,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc7d2194-f633-4357-8ba9-aad0acb00b28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc7d2194-f633-4357-8ba9-aad0acb00b28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:14.970332631Z"}]},"request_id":"8be5e7dd-a51f-4c39-b537-d5421aeead3b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.973991} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"685bc13ba7f361ea773107f8b62ddf10","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"685bc13ba7f361ea773107f8b62ddf10"} gateway-1 | {"time_local":"05/May/2025:08:16:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"685bc13ba7f361ea773107f8b62ddf10"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"685bc13ba7f361ea773107f8b62ddf10","responseTime":55,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3NH0.glJ7CGJpPGFSkM3tNo_o5DV8WfcNSybgdZL6y6I9dwQ","level":"info","message":"auth send jwt","requestID":"bb7620d2082e50f79fd695050bcb75da"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bb7620d2082e50f79fd695050bcb75da","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bb7620d2082e50f79fd695050bcb75da"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.674054,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"bb7620d2082e50f79fd695050bcb75da","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432974,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3NH0.glJ7CGJpPGFSkM3tNo_o5DV8WfcNSybgdZL6y6I9dwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"bb7620d2082e50f79fd695050bcb75da","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71aea81d-2a34-4863-904e-b297ee3497a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"829fbcb0-5d48-4d67-9a40-3a4fd89bb85d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.9948995} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bb7620d2082e50f79fd695050bcb75da","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8c59e85f-e29a-4e0d-b922-5a5bda9015a8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432974.9987333} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"bb7620d2082e50f79fd695050bcb75da","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71aea81d-2a34-4863-904e-b297ee3497a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"967ac5ab-cf9b-4315-a593-bfe04cdb4c78","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432975.0073838} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"34c140e9-4530-4602-85e4-2dba43d46590","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432975.0075128} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"bb7620d2082e50f79fd695050bcb75da","responseTime":10,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71aea81d-2a34-4863-904e-b297ee3497a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71aea81d-2a34-4863-904e-b297ee3497a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:15.007368689Z"}]},"request_id":"98eb4f23-c7de-4739-8929-c64b83f4c13a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432975.0107827} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bb7620d2082e50f79fd695050bcb75da","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bb7620d2082e50f79fd695050bcb75da"} device-1 | {"level":"info","message":"POST /devices? 201 33ms","method":"POST","requestID":"bb7620d2082e50f79fd695050bcb75da","responseTime":33,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"05/May/2025:08:16:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bb7620d2082e50f79fd695050bcb75da"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3NX0.jkBZzLWQTFUYpN5LZh36FZOV8yXsQktdEB_1aQhJoyg","level":"info","message":"auth send jwt","requestID":"76f2838c0ca0bdef4bebab3002b56e13"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"76f2838c0ca0bdef4bebab3002b56e13","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"76f2838c0ca0bdef4bebab3002b56e13"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:15Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.761109,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"76f2838c0ca0bdef4bebab3002b56e13","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432975,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3NX0.jkBZzLWQTFUYpN5LZh36FZOV8yXsQktdEB_1aQhJoyg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"76f2838c0ca0bdef4bebab3002b56e13","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71aea81d-2a34-4863-904e-b297ee3497a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71aea81d-2a34-4863-904e-b297ee3497a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:15.007368689Z"}]},"request_id":"551746a6-1f5e-4d34-bd6c-7260898c8f6e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432975.8416014} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"76f2838c0ca0bdef4bebab3002b56e13","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa53b1ce-29e1-4934-ae65-a36d5c55f4f2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432975.8460371} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"76f2838c0ca0bdef4bebab3002b56e13","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71aea81d-2a34-4863-904e-b297ee3497a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71aea81d-2a34-4863-904e-b297ee3497a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:15.007368689Z"}]},"request_id":"633f8cbe-0d54-4d47-9db3-6a444c75a5ba","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432975.8814583} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"76f2838c0ca0bdef4bebab3002b56e13","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"76f2838c0ca0bdef4bebab3002b56e13"} gateway-1 | {"time_local":"05/May/2025:08:16:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/71aea81d-2a34-4863-904e-b297ee3497a9 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.055","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"76f2838c0ca0bdef4bebab3002b56e13"} device-1 | {"level":"info","message":"PATCH /devices/71aea81d-2a34-4863-904e-b297ee3497a9 200 50ms","method":"PATCH","requestID":"76f2838c0ca0bdef4bebab3002b56e13","responseTime":50,"status":200,"url":"/devices/71aea81d-2a34-4863-904e-b297ee3497a9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3NX0.jkBZzLWQTFUYpN5LZh36FZOV8yXsQktdEB_1aQhJoyg","level":"info","message":"auth send jwt","requestID":"4120d72593a8b6d858aba8081de763c6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4120d72593a8b6d858aba8081de763c6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"4120d72593a8b6d858aba8081de763c6"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:15Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.709876,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4120d72593a8b6d858aba8081de763c6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432975,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3NX0.jkBZzLWQTFUYpN5LZh36FZOV8yXsQktdEB_1aQhJoyg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4120d72593a8b6d858aba8081de763c6","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"4120d72593a8b6d858aba8081de763c6"} device-1 | {"level":"info","message":"POST /devices/71aea81d-2a34-4863-904e-b297ee3497a9/websocket 200 38ms","method":"POST","requestID":"4120d72593a8b6d858aba8081de763c6","responseTime":38,"status":200,"url":"/devices/71aea81d-2a34-4863-904e-b297ee3497a9/websocket"} gateway-1 | {"time_local":"05/May/2025:08:16:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/71aea81d-2a34-4863-904e-b297ee3497a9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"4120d72593a8b6d858aba8081de763c6"} device-1 | {"level":"info","message":"device 'http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cf07e5b57b9272457ad31fd0f9726f4e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cf07e5b57b9272457ad31fd0f9726f4e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:16:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/dc7d2194-f633-4357-8ba9-aad0acb00b28/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.003","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cf07e5b57b9272457ad31fd0f9726f4e"} device-1 | {"level":"info","message":"OPTIONS /devices/dc7d2194-f633-4357-8ba9-aad0acb00b28/websocket 200 1ms","method":"OPTIONS","requestID":"cf07e5b57b9272457ad31fd0f9726f4e","responseTime":1,"status":200,"url":"/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3N30.xjKzbMQHgerXhbJWOb7SaR0KDuXYbFsDXUOqiRfuXAA","level":"info","message":"auth send jwt","requestID":"fb4fe81557aa01a19872e81fbc9197ab"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fb4fe81557aa01a19872e81fbc9197ab","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"fb4fe81557aa01a19872e81fbc9197ab"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.253324,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"fb4fe81557aa01a19872e81fbc9197ab","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432977,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3N30.xjKzbMQHgerXhbJWOb7SaR0KDuXYbFsDXUOqiRfuXAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fb4fe81557aa01a19872e81fbc9197ab","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"fb4fe81557aa01a19872e81fbc9197ab"} gateway-1 | {"time_local":"05/May/2025:08:16:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/dc7d2194-f633-4357-8ba9-aad0acb00b28/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.033","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fb4fe81557aa01a19872e81fbc9197ab"} device-1 | {"level":"info","message":"POST /devices/dc7d2194-f633-4357-8ba9-aad0acb00b28/websocket 200 27ms","method":"POST","requestID":"fb4fe81557aa01a19872e81fbc9197ab","responseTime":27,"status":200,"url":"/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3N30.xjKzbMQHgerXhbJWOb7SaR0KDuXYbFsDXUOqiRfuXAA","level":"info","message":"auth send jwt","requestID":"b6f6696269eed77db5ae701c56a2b4ae"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b6f6696269eed77db5ae701c56a2b4ae","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b6f6696269eed77db5ae701c56a2b4ae"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.807789,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"b6f6696269eed77db5ae701c56a2b4ae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432977,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3N30.xjKzbMQHgerXhbJWOb7SaR0KDuXYbFsDXUOqiRfuXAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b6f6696269eed77db5ae701c56a2b4ae","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc7d2194-f633-4357-8ba9-aad0acb00b28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc7d2194-f633-4357-8ba9-aad0acb00b28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:14.970332631Z"}]},"request_id":"cbe77ea4-30ab-43b9-a536-be88e9c28a97","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432977.276364} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b6f6696269eed77db5ae701c56a2b4ae","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b6f6696269eed77db5ae701c56a2b4ae"} gateway-1 | {"time_local":"05/May/2025:08:16:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dc7d2194-f633-4357-8ba9-aad0acb00b28? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b6f6696269eed77db5ae701c56a2b4ae"} device-1 | {"level":"info","message":"GET /devices/dc7d2194-f633-4357-8ba9-aad0acb00b28? 200 10ms","method":"GET","requestID":"b6f6696269eed77db5ae701c56a2b4ae","responseTime":10,"status":200,"url":"/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3N30.xjKzbMQHgerXhbJWOb7SaR0KDuXYbFsDXUOqiRfuXAA","level":"info","message":"auth send jwt","requestID":"bdf74e0e43784dab0b9192b0fbb65bec"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bdf74e0e43784dab0b9192b0fbb65bec","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bdf74e0e43784dab0b9192b0fbb65bec"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.67291,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"bdf74e0e43784dab0b9192b0fbb65bec","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432977,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3N30.xjKzbMQHgerXhbJWOb7SaR0KDuXYbFsDXUOqiRfuXAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bdf74e0e43784dab0b9192b0fbb65bec","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71aea81d-2a34-4863-904e-b297ee3497a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71aea81d-2a34-4863-904e-b297ee3497a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:15.007368689Z"}]},"request_id":"389d469e-2723-4ace-979d-1c2551128b10","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432977.2927055} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bdf74e0e43784dab0b9192b0fbb65bec","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bdf74e0e43784dab0b9192b0fbb65bec"} gateway-1 | {"time_local":"05/May/2025:08:16:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/71aea81d-2a34-4863-904e-b297ee3497a9? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bdf74e0e43784dab0b9192b0fbb65bec"} device-1 | {"level":"info","message":"GET /devices/71aea81d-2a34-4863-904e-b297ee3497a9? 200 11ms","method":"GET","requestID":"bdf74e0e43784dab0b9192b0fbb65bec","responseTime":11,"status":200,"url":"/devices/71aea81d-2a34-4863-904e-b297ee3497a9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3N30.xjKzbMQHgerXhbJWOb7SaR0KDuXYbFsDXUOqiRfuXAA","level":"info","message":"auth send jwt","requestID":"c3c2f278423f1519da9e68c0954e38e3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c3c2f278423f1519da9e68c0954e38e3","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"c3c2f278423f1519da9e68c0954e38e3"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.692227,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"c3c2f278423f1519da9e68c0954e38e3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432977,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3N30.xjKzbMQHgerXhbJWOb7SaR0KDuXYbFsDXUOqiRfuXAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c3c2f278423f1519da9e68c0954e38e3","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d"},"level":"info","message":"Attempting to run experiment","requestID":"c3c2f278423f1519da9e68c0954e38e3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d"},"level":"info","message":"Attempting to book experiment","requestID":"c3c2f278423f1519da9e68c0954e38e3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d"},"level":"info","message":"Successfully booked experiment","requestID":"c3c2f278423f1519da9e68c0954e38e3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"37ea5d90-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"37eaabb0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51584","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.782284,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"client_addr":"127.0.0.1:51584","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.804419,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"37ea5d90-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432977,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3N30.xjKzbMQHgerXhbJWOb7SaR0KDuXYbFsDXUOqiRfuXAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"37ea5d90-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"37eaabb0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432977,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3N30.xjKzbMQHgerXhbJWOb7SaR0KDuXYbFsDXUOqiRfuXAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"37eaabb0-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc7d2194-f633-4357-8ba9-aad0acb00b28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc7d2194-f633-4357-8ba9-aad0acb00b28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:14.970332631Z"}]},"request_id":"6f25cffb-b09b-4e77-80cf-76340decd00f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432977.418638} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"37ea5d90-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71aea81d-2a34-4863-904e-b297ee3497a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71aea81d-2a34-4863-904e-b297ee3497a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:15.007368689Z"}]},"request_id":"9d79379f-b6a0-4f62-a87b-94392f50f93f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432977.420015} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"37eaabb0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"37ea5d90-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/dc7d2194-f633-4357-8ba9-aad0acb00b28? 200 40ms","method":"GET","requestID":"37ea5d90-2989-11f0-8876-6f29f2a860cb","responseTime":40,"status":200,"url":"/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"37eaabb0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/71aea81d-2a34-4863-904e-b297ee3497a9? 200 39ms","method":"GET","requestID":"37eaabb0-2989-11f0-8876-6f29f2a860cb","responseTime":39,"status":200,"url":"/devices/71aea81d-2a34-4863-904e-b297ee3497a9?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d"},"level":"info","message":"Setting up experiment","requestID":"c3c2f278423f1519da9e68c0954e38e3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"c3c2f278423f1519da9e68c0954e38e3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d"},"level":"info","message":"Successfully locked booking for experiment","requestID":"c3c2f278423f1519da9e68c0954e38e3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"c3c2f278423f1519da9e68c0954e38e3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"c3c2f278423f1519da9e68c0954e38e3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d"},"level":"info","message":"Attempting to update booking for experiment","requestID":"c3c2f278423f1519da9e68c0954e38e3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d"},"level":"info","message":"Successfully updated booking for experiment","requestID":"c3c2f278423f1519da9e68c0954e38e3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d"},"level":"info","message":"Successfully set up experiment","requestID":"c3c2f278423f1519da9e68c0954e38e3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"37ffba50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"38000870-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"38002f80-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d"},"level":"info","message":"Successfully running experiment","requestID":"c3c2f278423f1519da9e68c0954e38e3"} authorization-1 | {"client_addr":"127.0.0.1:51584","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"client_addr":"127.0.0.1:51584","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.820118,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"37ffba50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432977,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3N30.xjKzbMQHgerXhbJWOb7SaR0KDuXYbFsDXUOqiRfuXAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"37ffba50-2989-11f0-8876-6f29f2a860cb","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.674763,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"client_addr":"127.0.0.1:51584","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"38000870-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432977,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3N30.xjKzbMQHgerXhbJWOb7SaR0KDuXYbFsDXUOqiRfuXAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"38000870-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51584","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.176837,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc7d2194-f633-4357-8ba9-aad0acb00b28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"447cf35a-565f-4874-9f69-a38e23a4145d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432977.5581684} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"38002f80-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"38002f80-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"38002f80-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/dc7d2194-f633-4357-8ba9-aad0acb00b28/signaling 200 34ms","method":"POST","requestID":"38002f80-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71aea81d-2a34-4863-904e-b297ee3497a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71aea81d-2a34-4863-904e-b297ee3497a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:15.007368689Z"}]},"request_id":"374676a6-3954-4568-8cf0-57093ea667cb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432977.5620542} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"38000870-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc7d2194-f633-4357-8ba9-aad0acb00b28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc7d2194-f633-4357-8ba9-aad0acb00b28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:14.970332631Z"}]},"request_id":"7f26f346-e2c6-4547-aadb-aca13c824bd3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432977.562987} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"37ffba50-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3805d4d0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51584","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:17Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"38000870-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff2f42239-06ca-4be5-a779-70f2fca3912d#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff2f42239-06ca-4be5-a779-70f2fca3912d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"059eaaaf-be28-4fbd-9905-4a29e68882fc","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432977.5690985} device-1 | {"level":"info","message":"GET /devices/71aea81d-2a34-4863-904e-b297ee3497a9? 200 42ms","method":"GET","requestID":"38000870-2989-11f0-8876-6f29f2a860cb","responseTime":42,"status":200,"url":"/devices/71aea81d-2a34-4863-904e-b297ee3497a9?"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71aea81d-2a34-4863-904e-b297ee3497a9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7ac4764c-bf97-4bd6-9dd2-5c3872250d4a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432977.5691469} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ae925e2-f80d-455a-a561-74ffbd66f44d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432977.569396} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"37ffba50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/dc7d2194-f633-4357-8ba9-aad0acb00b28? 200 46ms","method":"GET","requestID":"37ffba50-2989-11f0-8876-6f29f2a860cb","responseTime":46,"status":200,"url":"/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"c3c2f278423f1519da9e68c0954e38e3","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:51584","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.243662,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3805d4d0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"3805d4d0-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"38070d50-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51584","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:17Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3805d4d0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/71aea81d-2a34-4863-904e-b297ee3497a9/signaling 200 37ms","method":"POST","requestID":"3805d4d0-2989-11f0-8876-6f29f2a860cb","responseTime":37,"status":200,"url":"/devices/71aea81d-2a34-4863-904e-b297ee3497a9/signaling"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc7d2194-f633-4357-8ba9-aad0acb00b28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d14c517d-62c5-4170-b432-2aa02c43c796","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432977.6024842} authorization-1 | {"client_addr":"127.0.0.1:51584","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.233119,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:17Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"c3c2f278423f1519da9e68c0954e38e3"} gateway-1 | {"time_local":"05/May/2025:08:16:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.307","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c3c2f278423f1519da9e68c0954e38e3"} experiment-1 | {"level":"info","message":"POST /experiments? 201 303ms","method":"POST","requestID":"c3c2f278423f1519da9e68c0954e38e3","responseTime":303,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"38070d50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"38070d50-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"38070d50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/dc7d2194-f633-4357-8ba9-aad0acb00b28/signaling 200 35ms","method":"POST","requestID":"38070d50-2989-11f0-8876-6f29f2a860cb","responseTime":35,"status":200,"url":"/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3N30.xjKzbMQHgerXhbJWOb7SaR0KDuXYbFsDXUOqiRfuXAA","level":"info","message":"auth send jwt","requestID":"21ae443d7c2f76dec8181880356b8337"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"21ae443d7c2f76dec8181880356b8337","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"21ae443d7c2f76dec8181880356b8337"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"380cd9b0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51584","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"client_addr":"127.0.0.1:51584","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.904562,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"21ae443d7c2f76dec8181880356b8337","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432977,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3N30.xjKzbMQHgerXhbJWOb7SaR0KDuXYbFsDXUOqiRfuXAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"21ae443d7c2f76dec8181880356b8337","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.869978,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71aea81d-2a34-4863-904e-b297ee3497a9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5599d8c-c8cb-4524-8824-0acdc60bc9fe","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432977.6162107} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"380cd9b0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"380cd9b0-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc7d2194-f633-4357-8ba9-aad0acb00b28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc7d2194-f633-4357-8ba9-aad0acb00b28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:14.970332631Z"}]},"request_id":"daddffd5-86a7-4439-85fb-e149d61a32fa","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432977.6232376} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"21ae443d7c2f76dec8181880356b8337","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"380cd9b0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/71aea81d-2a34-4863-904e-b297ee3497a9/signaling 200 38ms","method":"POST","requestID":"380cd9b0-2989-11f0-8876-6f29f2a860cb","responseTime":38,"status":200,"url":"/devices/71aea81d-2a34-4863-904e-b297ee3497a9/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"c3c2f278423f1519da9e68c0954e38e3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d"},"level":"info","message":"Building connection plan","requestID":"c3c2f278423f1519da9e68c0954e38e3"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"fcd55afa-f441-480d-9478-290e8d39176a"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"77e4f41d-faec-491a-8543-46d84968d3d6"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"2b0fa339-3474-4226-b6e7-cf658dce63a9"}]},"level":"info","message":"Built pairwise service configurations","requestID":"c3c2f278423f1519da9e68c0954e38e3"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"c3c2f278423f1519da9e68c0954e38e3"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"38134250-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"21ae443d7c2f76dec8181880356b8337"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.003022,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:17Z"} device-1 | {"level":"info","message":"GET /devices/dc7d2194-f633-4357-8ba9-aad0acb00b28? 200 46ms","method":"GET","requestID":"21ae443d7c2f76dec8181880356b8337","responseTime":46,"status":200,"url":"/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28?"} gateway-1 | {"time_local":"05/May/2025:08:16:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dc7d2194-f633-4357-8ba9-aad0acb00b28? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"21ae443d7c2f76dec8181880356b8337"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"38134250-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432977,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3N30.xjKzbMQHgerXhbJWOb7SaR0KDuXYbFsDXUOqiRfuXAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"38134250-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3N30.xjKzbMQHgerXhbJWOb7SaR0KDuXYbFsDXUOqiRfuXAA","level":"info","message":"auth send jwt","requestID":"27a0ca5471f09758fe3f76e1e19015cb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"27a0ca5471f09758fe3f76e1e19015cb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"27a0ca5471f09758fe3f76e1e19015cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.644035,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"27a0ca5471f09758fe3f76e1e19015cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432977,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk3N30.xjKzbMQHgerXhbJWOb7SaR0KDuXYbFsDXUOqiRfuXAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"27a0ca5471f09758fe3f76e1e19015cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"dd432fed-98eb-46e0-8651-3da07df66f84","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432977.6698565} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08ee90db-7688-4134-8f76-140a16ac0454","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432977.670045} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71aea81d-2a34-4863-904e-b297ee3497a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71aea81d-2a34-4863-904e-b297ee3497a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:15.007368689Z"}]},"request_id":"738e5b1a-7287-4dc0-9a7f-294f335280be","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432977.6711404} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"27a0ca5471f09758fe3f76e1e19015cb","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"38134250-2989-11f0-8876-6f29f2a860cb","responseTime":33,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"27a0ca5471f09758fe3f76e1e19015cb"} gateway-1 | {"time_local":"05/May/2025:08:16:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/71aea81d-2a34-4863-904e-b297ee3497a9? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"27a0ca5471f09758fe3f76e1e19015cb"} device-1 | {"level":"info","message":"GET /devices/71aea81d-2a34-4863-904e-b297ee3497a9? 200 39ms","method":"GET","requestID":"27a0ca5471f09758fe3f76e1e19015cb","responseTime":39,"status":200,"url":"/devices/71aea81d-2a34-4863-904e-b297ee3497a9?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"38134250-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"38134250-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/a4acdafe-5379-41cc-a5d2-25bef5775379'","requestID":"38134250-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a4acdafe-5379-41cc-a5d2-25bef5775379'","requestID":"38134250-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"38134250-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 68ms","method":"POST","requestID":"38134250-2989-11f0-8876-6f29f2a860cb","responseTime":68,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"38134250-2989-11f0-8876-6f29f2a860cb"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/a4acdafe-5379-41cc-a5d2-25bef5775379","device":"dc7d2194-f633-4357-8ba9-aad0acb00b28","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"c3c2f278423f1519da9e68c0954e38e3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3824ce80-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc7d2194-f633-4357-8ba9-aad0acb00b28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3dccc2c7-b86b-4431-be09-2c1b7451da9c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432977.7939804} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":22.640313,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3824ce80-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"3824ce80-2989-11f0-8876-6f29f2a860cb","responseTime":24,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3824ce80-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/dc7d2194-f633-4357-8ba9-aad0acb00b28/signaling 200 30ms","method":"POST","requestID":"3824ce80-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3829b080-2989-11f0-8876-6f29f2a860cb"} device-1 | {"device":"dc7d2194-f633-4357-8ba9-aad0acb00b28","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"dc7d2194-f633-4357-8ba9-aad0acb00b28","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71aea81d-2a34-4863-904e-b297ee3497a9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a3b057e-483f-4fc8-88b8-d29912f39899","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432977.804111} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.205226,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3829b080-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3829b080-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3829b080-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/71aea81d-2a34-4863-904e-b297ee3497a9/signaling 200 7ms","method":"POST","requestID":"3829b080-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/devices/71aea81d-2a34-4863-904e-b297ee3497a9/signaling"} device-1 | {"device":"71aea81d-2a34-4863-904e-b297ee3497a9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"a4acdafe-5379-41cc-a5d2-25bef5775379","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 121572249550145444 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:q0JX\r\na=ice-pwd:HtofEh5H10cNBlX3dhgxvYcB\r\na=ice-options:trickle\r\na=fingerprint:sha-256 15:42:AD:2E:DD:53:58:CD:13:B6:9A:40:C5:05:E1:B2:98:AF:AC:94:21:61:D1:D0:CC:58:B8:C0:9F:B1:1E:C1\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"dc7d2194-f633-4357-8ba9-aad0acb00b28","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1898736365 1 udp 2113937151 3825e9ea-3ba1-4cdb-835d-b561bd786605.local 45567 typ host generation 0 ufrag q0JX network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"dc7d2194-f633-4357-8ba9-aad0acb00b28","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"dc7d2194-f633-4357-8ba9-aad0acb00b28","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"dc7d2194-f633-4357-8ba9-aad0acb00b28","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a4acdafe-5379-41cc-a5d2-25bef5775379' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a4acdafe-5379-41cc-a5d2-25bef5775379","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cc967e90b15b5986252898c48f1167df","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a4acdafe-5379-41cc-a5d2-25bef5775379"}}},"level":"info","message":"received a callback","requestID":"cc967e90b15b5986252898c48f1167df"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cc967e90b15b5986252898c48f1167df","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"71aea81d-2a34-4863-904e-b297ee3497a9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"71aea81d-2a34-4863-904e-b297ee3497a9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"71aea81d-2a34-4863-904e-b297ee3497a9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"cc967e90b15b5986252898c48f1167df","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"cc967e90b15b5986252898c48f1167df"} device-1 | {"data":{"peerconnection":"a4acdafe-5379-41cc-a5d2-25bef5775379","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"71aea81d-2a34-4863-904e-b297ee3497a9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"dc7d2194-f633-4357-8ba9-aad0acb00b28","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"71aea81d-2a34-4863-904e-b297ee3497a9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"a4acdafe-5379-41cc-a5d2-25bef5775379","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"dc7d2194-f633-4357-8ba9-aad0acb00b28","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a4acdafe-5379-41cc-a5d2-25bef5775379' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a4acdafe-5379-41cc-a5d2-25bef5775379","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"99d73c78a12f2b6f9397b7bc70bced45","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"99d73c78a12f2b6f9397b7bc70bced45","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a4acdafe-5379-41cc-a5d2-25bef5775379"}}},"level":"info","message":"received a callback","requestID":"99d73c78a12f2b6f9397b7bc70bced45"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"39636900-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:19Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa4acdafe-5379-41cc-a5d2-25bef5775379","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1dc4a4e0-8876-4c76-a9ad-204200505633","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432979.8609793} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.603732,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a4acdafe-5379-41cc-a5d2-25bef5775379","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"39636900-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a4acdafe-5379-41cc-a5d2-25bef5775379","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"39636900-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"39636900-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/a4acdafe-5379-41cc-a5d2-25bef5775379 200 9ms","method":"GET","requestID":"39636900-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/peerconnections/a4acdafe-5379-41cc-a5d2-25bef5775379"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 60ms","method":"POST","requestID":"99d73c78a12f2b6f9397b7bc70bced45","responseTime":60,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"396c1b90-2989-11f0-8876-6f29f2a860cb"} gateway-1 | {"time_local":"05/May/2025:08:16:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch","requestID":"99d73c78a12f2b6f9397b7bc70bced45"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:19Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc7d2194-f633-4357-8ba9-aad0acb00b28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"579aa235-dcf0-4ab3-8602-31314d3fe561","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432979.9533162} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":37.476412,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"396c1b90-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 40ms","method":"POST","requestID":"396c1b90-2989-11f0-8876-6f29f2a860cb","responseTime":40,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"396c1b90-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/dc7d2194-f633-4357-8ba9-aad0acb00b28/signaling 200 44ms","method":"POST","requestID":"396c1b90-2989-11f0-8876-6f29f2a860cb","responseTime":44,"status":200,"url":"/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"39734780-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:19Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71aea81d-2a34-4863-904e-b297ee3497a9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60ec89b9-8ba9-4c6e-a664-dd6525a13610","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432979.9654987} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.977022,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"39734780-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"39734780-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"39734780-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/71aea81d-2a34-4863-904e-b297ee3497a9/signaling 200 11ms","method":"POST","requestID":"39734780-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/71aea81d-2a34-4863-904e-b297ee3497a9/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4MH0.GyWtwluLkCYXudMDF4x9GdjxZomBJ2kXMsAK3gsfnCI","level":"info","message":"auth send jwt","requestID":"ebaefc89bea30261bc6da2f85698c96d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ebaefc89bea30261bc6da2f85698c96d","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f2f42239-06ca-4be5-a779-70f2fca3912d","requestID":"ebaefc89bea30261bc6da2f85698c96d"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:20Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.223926,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"ebaefc89bea30261bc6da2f85698c96d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432980,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4MH0.GyWtwluLkCYXudMDF4x9GdjxZomBJ2kXMsAK3gsfnCI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ebaefc89bea30261bc6da2f85698c96d","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f2f42239-06ca-4be5-a779-70f2fca3912d","requestID":"ebaefc89bea30261bc6da2f85698c96d"} gateway-1 | {"time_local":"05/May/2025:08:16:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f2f42239-06ca-4be5-a779-70f2fca3912d HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ebaefc89bea30261bc6da2f85698c96d"} experiment-1 | {"level":"info","message":"GET /experiments/f2f42239-06ca-4be5-a779-70f2fca3912d 200 15ms","method":"GET","requestID":"ebaefc89bea30261bc6da2f85698c96d","responseTime":15,"status":200,"url":"/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4MH0.GyWtwluLkCYXudMDF4x9GdjxZomBJ2kXMsAK3gsfnCI","level":"info","message":"auth send jwt","requestID":"e26878f4211130ca0d00cbe1884eb98a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e26878f4211130ca0d00cbe1884eb98a","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f2f42239-06ca-4be5-a779-70f2fca3912d","requestID":"e26878f4211130ca0d00cbe1884eb98a"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:20Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.858967,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"e26878f4211130ca0d00cbe1884eb98a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432980,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4MH0.GyWtwluLkCYXudMDF4x9GdjxZomBJ2kXMsAK3gsfnCI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e26878f4211130ca0d00cbe1884eb98a","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d"},"level":"info","message":"Attempting to finish experiment","requestID":"e26878f4211130ca0d00cbe1884eb98a"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"39acce10-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:20Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.633814,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a4acdafe-5379-41cc-a5d2-25bef5775379","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"39acce10-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/a4acdafe-5379-41cc-a5d2-25bef5775379","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432980,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4MH0.GyWtwluLkCYXudMDF4x9GdjxZomBJ2kXMsAK3gsfnCI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"39acce10-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/a4acdafe-5379-41cc-a5d2-25bef5775379","device":"dc7d2194-f633-4357-8ba9-aad0acb00b28","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"71aea81d-2a34-4863-904e-b297ee3497a9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"71aea81d-2a34-4863-904e-b297ee3497a9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"71aea81d-2a34-4863-904e-b297ee3497a9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a4acdafe-5379-41cc-a5d2-25bef5775379' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a4acdafe-5379-41cc-a5d2-25bef5775379' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a4acdafe-5379-41cc-a5d2-25bef5775379","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5ff6656f11bda951486413af652d0f3a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa4acdafe-5379-41cc-a5d2-25bef5775379': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa4acdafe-5379-41cc-a5d2-25bef5775379","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"9060d7d2-1eb4-4fa3-ac84-cbffcc265bac","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432980.3540301} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5ff6656f11bda951486413af652d0f3a","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a4acdafe-5379-41cc-a5d2-25bef5775379"}}},"level":"info","message":"received a callback","requestID":"5ff6656f11bda951486413af652d0f3a"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1bd957b5-393c-4a0b-91cf-5c8782523923","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432980.3543289} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a70084408cacfec28b3706ad77644ddb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"a70084408cacfec28b3706ad77644ddb","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"39acce10-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a4acdafe-5379-41cc-a5d2-25bef5775379"}}},"level":"info","message":"received a callback","requestID":"a70084408cacfec28b3706ad77644ddb"} device-1 | {"data":{"peerconnection":"a4acdafe-5379-41cc-a5d2-25bef5775379","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"39acce10-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/a4acdafe-5379-41cc-a5d2-25bef5775379 204 40ms","method":"DELETE","requestID":"39acce10-2989-11f0-8876-6f29f2a860cb","responseTime":40,"status":204,"url":"/peerconnections/a4acdafe-5379-41cc-a5d2-25bef5775379"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d"},"level":"info","message":"Successfully finished experiment","requestID":"e26878f4211130ca0d00cbe1884eb98a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"39b55990-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:20Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc7d2194-f633-4357-8ba9-aad0acb00b28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a09feb5-f810-4906-9e0e-70ae342c6e78","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432980.397622} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.669982,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"39b55990-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"39b55990-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"39b55990-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/dc7d2194-f633-4357-8ba9-aad0acb00b28/signaling 200 8ms","method":"POST","requestID":"39b55990-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"39b6e030-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff2f42239-06ca-4be5-a779-70f2fca3912d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff2f42239-06ca-4be5-a779-70f2fca3912d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"3e733aa2-a4e2-48f0-99f0-45c6bee10487","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432980.4038372} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f022bbf-5301-4c6d-9674-f8ea50b85089","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432980.403995} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"e26878f4211130ca0d00cbe1884eb98a","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:20Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71aea81d-2a34-4863-904e-b297ee3497a9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cbbfcc9c-addb-47cd-b0a7-15fb2cad87a2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432980.4082406} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.216083,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"39b6e030-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"39b6e030-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"39b6e030-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/71aea81d-2a34-4863-904e-b297ee3497a9/signaling 200 9ms","method":"POST","requestID":"39b6e030-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/71aea81d-2a34-4863-904e-b297ee3497a9/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f2f42239-06ca-4be5-a779-70f2fca3912d","requestID":"e26878f4211130ca0d00cbe1884eb98a"} gateway-1 | {"time_local":"05/May/2025:08:16:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f2f42239-06ca-4be5-a779-70f2fca3912d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e26878f4211130ca0d00cbe1884eb98a"} experiment-1 | {"level":"info","message":"DELETE /experiments/f2f42239-06ca-4be5-a779-70f2fca3912d 204 131ms","method":"DELETE","requestID":"e26878f4211130ca0d00cbe1884eb98a","responseTime":131,"status":204,"url":"/experiments/f2f42239-06ca-4be5-a779-70f2fca3912d"} gateway-1 | {"time_local":"05/May/2025:08:16:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2273","request_time":"4.526","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"6f86fb0692faeda4c9f4bb521f15e7f2"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/71aea81d-2a34-4863-904e-b297ee3497a9' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"5ff6656f11bda951486413af652d0f3a","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch","requestID":"5ff6656f11bda951486413af652d0f3a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"a70084408cacfec28b3706ad77644ddb","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.129","http_referrer":"","http_user_agent":"node-fetch","requestID":"a70084408cacfec28b3706ad77644ddb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4MH0.GyWtwluLkCYXudMDF4x9GdjxZomBJ2kXMsAK3gsfnCI","level":"info","message":"auth send jwt","requestID":"c8bb9a0684e039bd01ed0f811023df38"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c8bb9a0684e039bd01ed0f811023df38","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:16:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2532","request_time":"3.229","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"78cdf6b7ad3f50e8c568b7e0a4d78295"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:20Z"} device-1 | {"level":"info","message":"postDevices called","requestID":"c8bb9a0684e039bd01ed0f811023df38"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/dc7d2194-f633-4357-8ba9-aad0acb00b28' closed"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.839188,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"c8bb9a0684e039bd01ed0f811023df38","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432980,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4MH0.GyWtwluLkCYXudMDF4x9GdjxZomBJ2kXMsAK3gsfnCI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c8bb9a0684e039bd01ed0f811023df38","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f307a51-b98b-4799-887d-8e37391f07ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"14ed872c-0c56-4d68-94d5-cea2c6218423","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432980.5360408} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c8bb9a0684e039bd01ed0f811023df38","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"27192391-b43e-4775-9349-bce194818277","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432980.5416286} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c8bb9a0684e039bd01ed0f811023df38","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f307a51-b98b-4799-887d-8e37391f07ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"fa011e54-31bb-424f-9150-d2de34de3ca0","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432980.5523994} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5594fafa-86f6-409f-aeaa-b391ec60e85c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432980.5526848} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"c8bb9a0684e039bd01ed0f811023df38","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f307a51-b98b-4799-887d-8e37391f07ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f307a51-b98b-4799-887d-8e37391f07ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:20.552379605Z"}]},"request_id":"18eb8bec-17a7-44a0-93e5-e7fdf693cb53","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432980.5813253} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c8bb9a0684e039bd01ed0f811023df38","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c8bb9a0684e039bd01ed0f811023df38"} gateway-1 | {"time_local":"05/May/2025:08:16:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.127","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c8bb9a0684e039bd01ed0f811023df38"} device-1 | {"level":"info","message":"POST /devices? 201 95ms","method":"POST","requestID":"c8bb9a0684e039bd01ed0f811023df38","responseTime":95,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4MH0.GyWtwluLkCYXudMDF4x9GdjxZomBJ2kXMsAK3gsfnCI","level":"info","message":"auth send jwt","requestID":"3820205ac9a97b363b15a6f9c608af0d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3820205ac9a97b363b15a6f9c608af0d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"3820205ac9a97b363b15a6f9c608af0d"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:20Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.694961,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3820205ac9a97b363b15a6f9c608af0d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432980,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4MH0.GyWtwluLkCYXudMDF4x9GdjxZomBJ2kXMsAK3gsfnCI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3820205ac9a97b363b15a6f9c608af0d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03eefdbc-85f6-4584-816e-2f092513e9d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"dd46383a-37c8-49df-bc62-fd04a4bccdcd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432980.6265538} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3820205ac9a97b363b15a6f9c608af0d","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da3a823b-cc7f-48e7-862a-d04765496204","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432980.630901} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"3820205ac9a97b363b15a6f9c608af0d","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03eefdbc-85f6-4584-816e-2f092513e9d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"267bf157-c3b9-44a5-8932-afaced9bf36d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432980.6398735} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd5d6329-2f6e-4807-8e8f-fdd8022e5398","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432980.640124} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"3820205ac9a97b363b15a6f9c608af0d","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03eefdbc-85f6-4584-816e-2f092513e9d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03eefdbc-85f6-4584-816e-2f092513e9d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:20.639840999Z"}]},"request_id":"74d7b2d6-e67e-468c-982a-0f8d2c53e2b5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432980.6438549} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3820205ac9a97b363b15a6f9c608af0d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3820205ac9a97b363b15a6f9c608af0d"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"3820205ac9a97b363b15a6f9c608af0d","responseTime":57,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"05/May/2025:08:16:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3820205ac9a97b363b15a6f9c608af0d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4MX0.SmIEmBSNkzlJ1aGelaDrSx9pkZCA0_R9AU47vtvkYr0","level":"info","message":"auth send jwt","requestID":"53f1bb9e92fd9a1dd750a463ee2a691b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"53f1bb9e92fd9a1dd750a463ee2a691b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"53f1bb9e92fd9a1dd750a463ee2a691b"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:21Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.868868,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"53f1bb9e92fd9a1dd750a463ee2a691b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432981,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4MX0.SmIEmBSNkzlJ1aGelaDrSx9pkZCA0_R9AU47vtvkYr0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"53f1bb9e92fd9a1dd750a463ee2a691b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f307a51-b98b-4799-887d-8e37391f07ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f307a51-b98b-4799-887d-8e37391f07ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:20.552379605Z"}]},"request_id":"ee26436d-47ad-4191-a1e1-07cc43768474","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432981.5507228} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"53f1bb9e92fd9a1dd750a463ee2a691b","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5e51a8e8-091d-4499-bdaa-0b6b037568da","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432981.5560648} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"53f1bb9e92fd9a1dd750a463ee2a691b","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f307a51-b98b-4799-887d-8e37391f07ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f307a51-b98b-4799-887d-8e37391f07ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:20.552379605Z"}]},"request_id":"a6c44569-8bb6-4599-9003-1ca21e50d14a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432981.6016388} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"53f1bb9e92fd9a1dd750a463ee2a691b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"53f1bb9e92fd9a1dd750a463ee2a691b"} gateway-1 | {"time_local":"05/May/2025:08:16:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6f307a51-b98b-4799-887d-8e37391f07ba HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.087","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"53f1bb9e92fd9a1dd750a463ee2a691b"} device-1 | {"level":"info","message":"PATCH /devices/6f307a51-b98b-4799-887d-8e37391f07ba 200 62ms","method":"PATCH","requestID":"53f1bb9e92fd9a1dd750a463ee2a691b","responseTime":62,"status":200,"url":"/devices/6f307a51-b98b-4799-887d-8e37391f07ba"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4MX0.SmIEmBSNkzlJ1aGelaDrSx9pkZCA0_R9AU47vtvkYr0","level":"info","message":"auth send jwt","requestID":"cd5fd74edc644b87eaa98f9012a266d4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cd5fd74edc644b87eaa98f9012a266d4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"cd5fd74edc644b87eaa98f9012a266d4"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:21Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.680016,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"cd5fd74edc644b87eaa98f9012a266d4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432981,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4MX0.SmIEmBSNkzlJ1aGelaDrSx9pkZCA0_R9AU47vtvkYr0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"cd5fd74edc644b87eaa98f9012a266d4","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"cd5fd74edc644b87eaa98f9012a266d4"} device-1 | {"level":"info","message":"POST /devices/6f307a51-b98b-4799-887d-8e37391f07ba/websocket 200 38ms","method":"POST","requestID":"cd5fd74edc644b87eaa98f9012a266d4","responseTime":38,"status":200,"url":"/devices/6f307a51-b98b-4799-887d-8e37391f07ba/websocket"} gateway-1 | {"time_local":"05/May/2025:08:16:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6f307a51-b98b-4799-887d-8e37391f07ba/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"cd5fd74edc644b87eaa98f9012a266d4"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"aa2a986d4830fa6fdbc8771491fdd980","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"aa2a986d4830fa6fdbc8771491fdd980","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:16:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/03eefdbc-85f6-4584-816e-2f092513e9d5/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"aa2a986d4830fa6fdbc8771491fdd980"} device-1 | {"level":"info","message":"OPTIONS /devices/03eefdbc-85f6-4584-816e-2f092513e9d5/websocket 200 1ms","method":"OPTIONS","requestID":"aa2a986d4830fa6fdbc8771491fdd980","responseTime":1,"status":200,"url":"/devices/03eefdbc-85f6-4584-816e-2f092513e9d5/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4Mn0.AQ2XEo4c4r6-tv1OIduuCx70CFKmMA9mES6RpNJV6VY","level":"info","message":"auth send jwt","requestID":"87e0496e3a05fecb2b75c21d91693802"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"87e0496e3a05fecb2b75c21d91693802","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"87e0496e3a05fecb2b75c21d91693802"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.822644,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"87e0496e3a05fecb2b75c21d91693802","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432982,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4Mn0.AQ2XEo4c4r6-tv1OIduuCx70CFKmMA9mES6RpNJV6VY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"87e0496e3a05fecb2b75c21d91693802","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"87e0496e3a05fecb2b75c21d91693802"} device-1 | {"level":"info","message":"POST /devices/03eefdbc-85f6-4584-816e-2f092513e9d5/websocket 200 29ms","method":"POST","requestID":"87e0496e3a05fecb2b75c21d91693802","responseTime":29,"status":200,"url":"/devices/03eefdbc-85f6-4584-816e-2f092513e9d5/websocket"} gateway-1 | {"time_local":"05/May/2025:08:16:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/03eefdbc-85f6-4584-816e-2f092513e9d5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.035","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"87e0496e3a05fecb2b75c21d91693802"} device-1 | {"level":"info","message":"device 'http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4Mn0.AQ2XEo4c4r6-tv1OIduuCx70CFKmMA9mES6RpNJV6VY","level":"info","message":"auth send jwt","requestID":"474168f8d81d656870bc36e2d2acdaf0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"474168f8d81d656870bc36e2d2acdaf0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"474168f8d81d656870bc36e2d2acdaf0"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.346296,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"474168f8d81d656870bc36e2d2acdaf0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432982,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4Mn0.AQ2XEo4c4r6-tv1OIduuCx70CFKmMA9mES6RpNJV6VY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"474168f8d81d656870bc36e2d2acdaf0","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f307a51-b98b-4799-887d-8e37391f07ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f307a51-b98b-4799-887d-8e37391f07ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:20.552379605Z"}]},"request_id":"17bbdea7-27be-42f8-a9b8-2c598f2284a8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432982.973081} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"474168f8d81d656870bc36e2d2acdaf0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"474168f8d81d656870bc36e2d2acdaf0"} gateway-1 | {"time_local":"05/May/2025:08:16:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6f307a51-b98b-4799-887d-8e37391f07ba? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"474168f8d81d656870bc36e2d2acdaf0"} device-1 | {"level":"info","message":"GET /devices/6f307a51-b98b-4799-887d-8e37391f07ba? 200 11ms","method":"GET","requestID":"474168f8d81d656870bc36e2d2acdaf0","responseTime":11,"status":200,"url":"/devices/6f307a51-b98b-4799-887d-8e37391f07ba?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4Mn0.AQ2XEo4c4r6-tv1OIduuCx70CFKmMA9mES6RpNJV6VY","level":"info","message":"auth send jwt","requestID":"ffbbf4b95db2ff266d7de41bfd1e9c3f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ffbbf4b95db2ff266d7de41bfd1e9c3f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ffbbf4b95db2ff266d7de41bfd1e9c3f"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.702519,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"ffbbf4b95db2ff266d7de41bfd1e9c3f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432982,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4Mn0.AQ2XEo4c4r6-tv1OIduuCx70CFKmMA9mES6RpNJV6VY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ffbbf4b95db2ff266d7de41bfd1e9c3f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03eefdbc-85f6-4584-816e-2f092513e9d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03eefdbc-85f6-4584-816e-2f092513e9d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:20.639840999Z"}]},"request_id":"ec8f0c24-af19-47d5-8097-161b5f2c258e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432982.9863892} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ffbbf4b95db2ff266d7de41bfd1e9c3f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ffbbf4b95db2ff266d7de41bfd1e9c3f"} device-1 | {"level":"info","message":"GET /devices/03eefdbc-85f6-4584-816e-2f092513e9d5? 200 10ms","method":"GET","requestID":"ffbbf4b95db2ff266d7de41bfd1e9c3f","responseTime":10,"status":200,"url":"/devices/03eefdbc-85f6-4584-816e-2f092513e9d5?"} gateway-1 | {"time_local":"05/May/2025:08:16:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/03eefdbc-85f6-4584-816e-2f092513e9d5? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ffbbf4b95db2ff266d7de41bfd1e9c3f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4Mn0.AQ2XEo4c4r6-tv1OIduuCx70CFKmMA9mES6RpNJV6VY","level":"info","message":"auth send jwt","requestID":"ea361a49a777dd2008523bb67304fa4e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ea361a49a777dd2008523bb67304fa4e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"ea361a49a777dd2008523bb67304fa4e"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.081603,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"ea361a49a777dd2008523bb67304fa4e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432982,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4Mn0.AQ2XEo4c4r6-tv1OIduuCx70CFKmMA9mES6RpNJV6VY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ea361a49a777dd2008523bb67304fa4e","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54"},"level":"info","message":"Attempting to run experiment","requestID":"ea361a49a777dd2008523bb67304fa4e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54"},"level":"info","message":"Attempting to book experiment","requestID":"ea361a49a777dd2008523bb67304fa4e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54"},"level":"info","message":"Successfully booked experiment","requestID":"ea361a49a777dd2008523bb67304fa4e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3b494000-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3b496710-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:23Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.602954,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3b494000-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432982,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4Mn0.AQ2XEo4c4r6-tv1OIduuCx70CFKmMA9mES6RpNJV6VY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3b494000-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:23Z"} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.724158,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3b496710-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432982,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4Mn0.AQ2XEo4c4r6-tv1OIduuCx70CFKmMA9mES6RpNJV6VY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"3b496710-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f307a51-b98b-4799-887d-8e37391f07ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f307a51-b98b-4799-887d-8e37391f07ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:20.552379605Z"}]},"request_id":"77ae68a9-fdb8-49cd-9201-da1723f382b9","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432983.0479794} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3b494000-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03eefdbc-85f6-4584-816e-2f092513e9d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03eefdbc-85f6-4584-816e-2f092513e9d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:20.639840999Z"}]},"request_id":"3c2259e9-8d8c-45ab-9cd1-823143261b7c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432983.075068} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3b496710-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3b494000-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/6f307a51-b98b-4799-887d-8e37391f07ba? 200 37ms","method":"GET","requestID":"3b494000-2989-11f0-8876-6f29f2a860cb","responseTime":37,"status":200,"url":"/devices/6f307a51-b98b-4799-887d-8e37391f07ba?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3b496710-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/03eefdbc-85f6-4584-816e-2f092513e9d5? 200 37ms","method":"GET","requestID":"3b496710-2989-11f0-8876-6f29f2a860cb","responseTime":37,"status":200,"url":"/devices/03eefdbc-85f6-4584-816e-2f092513e9d5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54"},"level":"info","message":"Setting up experiment","requestID":"ea361a49a777dd2008523bb67304fa4e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"ea361a49a777dd2008523bb67304fa4e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54"},"level":"info","message":"Successfully locked booking for experiment","requestID":"ea361a49a777dd2008523bb67304fa4e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"ea361a49a777dd2008523bb67304fa4e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"ea361a49a777dd2008523bb67304fa4e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54"},"level":"info","message":"Attempting to update booking for experiment","requestID":"ea361a49a777dd2008523bb67304fa4e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54"},"level":"info","message":"Successfully updated booking for experiment","requestID":"ea361a49a777dd2008523bb67304fa4e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54"},"level":"info","message":"Successfully set up experiment","requestID":"ea361a49a777dd2008523bb67304fa4e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3b585b30-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3b58a950-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3b58d060-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54"},"level":"info","message":"Successfully running experiment","requestID":"ea361a49a777dd2008523bb67304fa4e"} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:23Z"} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.709111,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:23Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3b585b30-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432982,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4Mn0.AQ2XEo4c4r6-tv1OIduuCx70CFKmMA9mES6RpNJV6VY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3b585b30-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.708912,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3b58a950-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432982,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4Mn0.AQ2XEo4c4r6-tv1OIduuCx70CFKmMA9mES6RpNJV6VY"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"3b58a950-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:23Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f307a51-b98b-4799-887d-8e37391f07ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f307a51-b98b-4799-887d-8e37391f07ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:20.552379605Z"}]},"request_id":"f2db0711-69e2-437b-af4d-5b9b20f43c3b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432983.1734378} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3b585b30-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f307a51-b98b-4799-887d-8e37391f07ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"44436365-bf7b-440d-b97c-c0db77402bea","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432983.1753478} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.151968,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:23Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3b585b30-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3b58d060-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"GET /devices/6f307a51-b98b-4799-887d-8e37391f07ba? 200 38ms","method":"GET","requestID":"3b585b30-2989-11f0-8876-6f29f2a860cb","responseTime":38,"status":200,"url":"/devices/6f307a51-b98b-4799-887d-8e37391f07ba?"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"3b58d060-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03eefdbc-85f6-4584-816e-2f092513e9d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03eefdbc-85f6-4584-816e-2f092513e9d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:20.639840999Z"}]},"request_id":"ef794cee-ad96-423b-a256-3a3f7828fbfe","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432983.1761882} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3b58a950-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3b58d060-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/6f307a51-b98b-4799-887d-8e37391f07ba/signaling 200 39ms","method":"POST","requestID":"3b58d060-2989-11f0-8876-6f29f2a860cb","responseTime":39,"status":200,"url":"/devices/6f307a51-b98b-4799-887d-8e37391f07ba/signaling"} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:23Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3b58a950-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/03eefdbc-85f6-4584-816e-2f092513e9d5? 200 41ms","method":"GET","requestID":"3b58a950-2989-11f0-8876-6f29f2a860cb","responseTime":41,"status":200,"url":"/devices/03eefdbc-85f6-4584-816e-2f092513e9d5?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3b5f11f0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3b5f6010-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03eefdbc-85f6-4584-816e-2f092513e9d5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eebc4fd8-97a9-4d5a-abc1-78a717bb81af","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432983.1882553} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"d5dce554-63a3-4090-b6ee-9dba0d47361c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432983.1885328} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8f09a3db-53e4-4c5e-9eb0-ab950dae18ce","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432983.1889079} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.869213,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:23Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3b5f11f0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"3b5f11f0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"ea361a49a777dd2008523bb67304fa4e","responseTime":22,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.084981,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:23Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f307a51-b98b-4799-887d-8e37391f07ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4817a262-025e-4a4f-b09e-5fe73fb46cde","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432983.1912453} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3b5f6010-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"3b5f6010-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3b5f11f0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/03eefdbc-85f6-4584-816e-2f092513e9d5/signaling 200 36ms","method":"POST","requestID":"3b5f11f0-2989-11f0-8876-6f29f2a860cb","responseTime":36,"status":200,"url":"/devices/03eefdbc-85f6-4584-816e-2f092513e9d5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3b5f6010-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/6f307a51-b98b-4799-887d-8e37391f07ba/signaling 200 35ms","method":"POST","requestID":"3b5f6010-2989-11f0-8876-6f29f2a860cb","responseTime":35,"status":200,"url":"/devices/6f307a51-b98b-4799-887d-8e37391f07ba/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"ea361a49a777dd2008523bb67304fa4e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3b652c70-2989-11f0-8876-6f29f2a860cb"} gateway-1 | {"time_local":"05/May/2025:08:16:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.233","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ea361a49a777dd2008523bb67304fa4e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 229ms","method":"POST","requestID":"ea361a49a777dd2008523bb67304fa4e","responseTime":229,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:23Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03eefdbc-85f6-4584-816e-2f092513e9d5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5b536e9b-e302-4ab1-979b-e3223826a20b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432983.227567} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.441071,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:23Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4M30.Oc011AQ6Lsu2hfWM1gGjxnP3YDWHZgkQkfv_L0wG2jg","level":"info","message":"auth send jwt","requestID":"29aefc9ad11ad6701a907d46490be80b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"29aefc9ad11ad6701a907d46490be80b","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3b652c70-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"29aefc9ad11ad6701a907d46490be80b"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3b652c70-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:23Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.003791,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:23Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3b652c70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/03eefdbc-85f6-4584-816e-2f092513e9d5/signaling 200 10ms","method":"POST","requestID":"3b652c70-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/03eefdbc-85f6-4584-816e-2f092513e9d5/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"29aefc9ad11ad6701a907d46490be80b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432983,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4M30.Oc011AQ6Lsu2hfWM1gGjxnP3YDWHZgkQkfv_L0wG2jg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"29aefc9ad11ad6701a907d46490be80b","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"ea361a49a777dd2008523bb67304fa4e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54"},"level":"info","message":"Building connection plan","requestID":"ea361a49a777dd2008523bb67304fa4e"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"ce520abd-8507-417d-b699-60041811c70d"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"a480e25c-cb65-4f02-8f79-6d689affaa24"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"fb246362-3b63-43f7-894a-e4fb2c324676"}]},"level":"info","message":"Built pairwise service configurations","requestID":"ea361a49a777dd2008523bb67304fa4e"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"ea361a49a777dd2008523bb67304fa4e"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"3b670130-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f307a51-b98b-4799-887d-8e37391f07ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f307a51-b98b-4799-887d-8e37391f07ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:20.552379605Z"}]},"request_id":"f94455bb-9e9c-416f-aa9b-cd57286d637c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432983.2367148} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"29aefc9ad11ad6701a907d46490be80b","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:23Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"29aefc9ad11ad6701a907d46490be80b"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.725104,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:23Z"} gateway-1 | {"time_local":"05/May/2025:08:16:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6f307a51-b98b-4799-887d-8e37391f07ba? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"29aefc9ad11ad6701a907d46490be80b"} device-1 | {"level":"info","message":"GET /devices/6f307a51-b98b-4799-887d-8e37391f07ba? 200 11ms","method":"GET","requestID":"29aefc9ad11ad6701a907d46490be80b","responseTime":11,"status":200,"url":"/devices/6f307a51-b98b-4799-887d-8e37391f07ba?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4M30.Oc011AQ6Lsu2hfWM1gGjxnP3YDWHZgkQkfv_L0wG2jg","level":"info","message":"auth send jwt","requestID":"9a0c61cbe4462db6c92d9943ab8dcc70"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3b670130-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432982,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4Mn0.AQ2XEo4c4r6-tv1OIduuCx70CFKmMA9mES6RpNJV6VY"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"3b670130-2989-11f0-8876-6f29f2a860cb","responseTime":27,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9a0c61cbe4462db6c92d9943ab8dcc70","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9a0c61cbe4462db6c92d9943ab8dcc70"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"ba380e46-3132-4102-8f05-d7ce86bb7270","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432983.2717617} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3d0b2cc6-1df3-437b-a6fe-e1433b0620e5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432983.2721176} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"3b670130-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:23Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.715122,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"9a0c61cbe4462db6c92d9943ab8dcc70","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432983,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4M30.Oc011AQ6Lsu2hfWM1gGjxnP3YDWHZgkQkfv_L0wG2jg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9a0c61cbe4462db6c92d9943ab8dcc70","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03eefdbc-85f6-4584-816e-2f092513e9d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03eefdbc-85f6-4584-816e-2f092513e9d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:20.639840999Z"}]},"request_id":"ffcfb5ca-8a7e-4409-baa8-2bd1d5f7d29c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432983.278101} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9a0c61cbe4462db6c92d9943ab8dcc70","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"3b670130-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"3b670130-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0f4132ab-f3c8-44d0-bc3a-8a67c0304e97'","requestID":"3b670130-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0f4132ab-f3c8-44d0-bc3a-8a67c0304e97'","requestID":"3b670130-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"3b670130-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 87ms","method":"POST","requestID":"3b670130-2989-11f0-8876-6f29f2a860cb","responseTime":87,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9a0c61cbe4462db6c92d9943ab8dcc70"} device-1 | {"level":"info","message":"GET /devices/03eefdbc-85f6-4584-816e-2f092513e9d5? 200 54ms","method":"GET","requestID":"9a0c61cbe4462db6c92d9943ab8dcc70","responseTime":54,"status":200,"url":"/devices/03eefdbc-85f6-4584-816e-2f092513e9d5?"} gateway-1 | {"time_local":"05/May/2025:08:16:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/03eefdbc-85f6-4584-816e-2f092513e9d5? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9a0c61cbe4462db6c92d9943ab8dcc70"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"3b670130-2989-11f0-8876-6f29f2a860cb"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/0f4132ab-f3c8-44d0-bc3a-8a67c0304e97","device":"03eefdbc-85f6-4584-816e-2f092513e9d5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"ea361a49a777dd2008523bb67304fa4e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3b7b9aa0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:23Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f307a51-b98b-4799-887d-8e37391f07ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab1f5ded-d73f-44c7-9180-459df48ae611","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432983.3740542} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.392476,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3b7b9aa0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3b7b9aa0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3b7b9aa0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/6f307a51-b98b-4799-887d-8e37391f07ba/signaling 200 8ms","method":"POST","requestID":"3b7b9aa0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/6f307a51-b98b-4799-887d-8e37391f07ba/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3b7cfa30-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:23Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03eefdbc-85f6-4584-816e-2f092513e9d5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"169f5a04-c616-4ddc-a63f-7d346f1dec10","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432983.3836079} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.205471,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3b7cfa30-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"3b7cfa30-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3b7cfa30-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/03eefdbc-85f6-4584-816e-2f092513e9d5/signaling 200 32ms","method":"POST","requestID":"3b7cfa30-2989-11f0-8876-6f29f2a860cb","responseTime":32,"status":200,"url":"/devices/03eefdbc-85f6-4584-816e-2f092513e9d5/signaling"} device-1 | {"device":"03eefdbc-85f6-4584-816e-2f092513e9d5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"03eefdbc-85f6-4584-816e-2f092513e9d5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"6f307a51-b98b-4799-887d-8e37391f07ba","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"0f4132ab-f3c8-44d0-bc3a-8a67c0304e97","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 9043377316325603221 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:UGqn\r\na=ice-pwd:ghPdG92mNWBvTHisUoMGuYkX\r\na=ice-options:trickle\r\na=fingerprint:sha-256 2A:1E:4D:3D:12:B5:22:7A:32:71:EE:2E:B8:F0:EE:95:70:22:6B:91:01:F0:B0:FA:F9:67:61:46:40:19:E2:BB\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"03eefdbc-85f6-4584-816e-2f092513e9d5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"device":"03eefdbc-85f6-4584-816e-2f092513e9d5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:1510166112 1 udp 2113937151 dfda45d5-6536-432e-a629-55d59523e2ea.local 57341 typ host generation 0 ufrag UGqn network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"03eefdbc-85f6-4584-816e-2f092513e9d5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0f4132ab-f3c8-44d0-bc3a-8a67c0304e97' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0f4132ab-f3c8-44d0-bc3a-8a67c0304e97","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6f307a51-b98b-4799-887d-8e37391f07ba","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6f307a51-b98b-4799-887d-8e37391f07ba","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6f307a51-b98b-4799-887d-8e37391f07ba","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5f3f517333fdf7be9862a07fd97cefcd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"device":"03eefdbc-85f6-4584-816e-2f092513e9d5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5f3f517333fdf7be9862a07fd97cefcd","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0f4132ab-f3c8-44d0-bc3a-8a67c0304e97"}}},"level":"info","message":"received a callback","requestID":"5f3f517333fdf7be9862a07fd97cefcd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"5f3f517333fdf7be9862a07fd97cefcd","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"5f3f517333fdf7be9862a07fd97cefcd"} device-1 | {"data":{"peerconnection":"0f4132ab-f3c8-44d0-bc3a-8a67c0304e97","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6f307a51-b98b-4799-887d-8e37391f07ba","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6f307a51-b98b-4799-887d-8e37391f07ba","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"03eefdbc-85f6-4584-816e-2f092513e9d5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"0f4132ab-f3c8-44d0-bc3a-8a67c0304e97","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"03eefdbc-85f6-4584-816e-2f092513e9d5","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0f4132ab-f3c8-44d0-bc3a-8a67c0304e97' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0f4132ab-f3c8-44d0-bc3a-8a67c0304e97","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"05d2477e50538fcb43c83fbe4e53f721","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"05d2477e50538fcb43c83fbe4e53f721","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0f4132ab-f3c8-44d0-bc3a-8a67c0304e97"}}},"level":"info","message":"received a callback","requestID":"05d2477e50538fcb43c83fbe4e53f721"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"3cb63d80-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:25Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0f4132ab-f3c8-44d0-bc3a-8a67c0304e97","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0296e450-5517-4af9-8007-a600ad60e67e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432985.4386132} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.408647,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0f4132ab-f3c8-44d0-bc3a-8a67c0304e97","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3cb63d80-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0f4132ab-f3c8-44d0-bc3a-8a67c0304e97","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"3cb63d80-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"3cb63d80-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/0f4132ab-f3c8-44d0-bc3a-8a67c0304e97 200 12ms","method":"GET","requestID":"3cb63d80-2989-11f0-8876-6f29f2a860cb","responseTime":12,"status":200,"url":"/peerconnections/0f4132ab-f3c8-44d0-bc3a-8a67c0304e97"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 60ms","method":"POST","requestID":"05d2477e50538fcb43c83fbe4e53f721","responseTime":60,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch","requestID":"05d2477e50538fcb43c83fbe4e53f721"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3cbea1f0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:25Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03eefdbc-85f6-4584-816e-2f092513e9d5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"008cb206-f893-4d29-ae8e-4b76f3c1d6b2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432985.4923165} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.779311,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3cbea1f0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"3cbea1f0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3cbea1f0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/03eefdbc-85f6-4584-816e-2f092513e9d5/signaling 200 35ms","method":"POST","requestID":"3cbea1f0-2989-11f0-8876-6f29f2a860cb","responseTime":35,"status":200,"url":"/devices/03eefdbc-85f6-4584-816e-2f092513e9d5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3cc44740-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:25Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f307a51-b98b-4799-887d-8e37391f07ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3775c196-4202-4a62-b0a7-c055f1b84023","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432985.529216} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.707892,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3cc44740-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3cc44740-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3cc44740-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/6f307a51-b98b-4799-887d-8e37391f07ba/signaling 200 10ms","method":"POST","requestID":"3cc44740-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/6f307a51-b98b-4799-887d-8e37391f07ba/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4NX0.NOc2Frsfvak3928cnCVx-_a4eJIS3nUwcZtIh7qTc_s","level":"info","message":"auth send jwt","requestID":"38c46b158ae9877bff320fd4c3b2c9fa"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"38c46b158ae9877bff320fd4c3b2c9fa","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54","requestID":"38c46b158ae9877bff320fd4c3b2c9fa"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.637209,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"38c46b158ae9877bff320fd4c3b2c9fa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432985,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4NX0.NOc2Frsfvak3928cnCVx-_a4eJIS3nUwcZtIh7qTc_s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"38c46b158ae9877bff320fd4c3b2c9fa","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54","requestID":"38c46b158ae9877bff320fd4c3b2c9fa"} gateway-1 | {"time_local":"05/May/2025:08:16:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"38c46b158ae9877bff320fd4c3b2c9fa"} experiment-1 | {"level":"info","message":"GET /experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54 200 9ms","method":"GET","requestID":"38c46b158ae9877bff320fd4c3b2c9fa","responseTime":9,"status":200,"url":"/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4NX0.NOc2Frsfvak3928cnCVx-_a4eJIS3nUwcZtIh7qTc_s","level":"info","message":"auth send jwt","requestID":"c8104a3441370342e882fde3d420eb60"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c8104a3441370342e882fde3d420eb60","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54","requestID":"c8104a3441370342e882fde3d420eb60"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.655443,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:25Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"c8104a3441370342e882fde3d420eb60","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432985,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4NX0.NOc2Frsfvak3928cnCVx-_a4eJIS3nUwcZtIh7qTc_s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c8104a3441370342e882fde3d420eb60","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54"},"level":"info","message":"Attempting to finish experiment","requestID":"c8104a3441370342e882fde3d420eb60"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"3ce69c50-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.884438,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:25Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0f4132ab-f3c8-44d0-bc3a-8a67c0304e97","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3ce69c50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/0f4132ab-f3c8-44d0-bc3a-8a67c0304e97","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432985,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4NX0.NOc2Frsfvak3928cnCVx-_a4eJIS3nUwcZtIh7qTc_s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3ce69c50-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0f4132ab-f3c8-44d0-bc3a-8a67c0304e97","device":"03eefdbc-85f6-4584-816e-2f092513e9d5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"6f307a51-b98b-4799-887d-8e37391f07ba","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6f307a51-b98b-4799-887d-8e37391f07ba","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6f307a51-b98b-4799-887d-8e37391f07ba","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0f4132ab-f3c8-44d0-bc3a-8a67c0304e97' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0f4132ab-f3c8-44d0-bc3a-8a67c0304e97' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0f4132ab-f3c8-44d0-bc3a-8a67c0304e97","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0f4132ab-f3c8-44d0-bc3a-8a67c0304e97': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0f4132ab-f3c8-44d0-bc3a-8a67c0304e97","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"4d37769f-46c4-4dd2-98bd-3d549a8dbc30","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432985.7673726} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6bfb362c-9525-4ecc-aa43-923ed4223d06","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432985.767504} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f9de6d99427829e04d6b7fef86306df7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f9de6d99427829e04d6b7fef86306df7","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"3ce69c50-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0f4132ab-f3c8-44d0-bc3a-8a67c0304e97"}}},"level":"info","message":"received a callback","requestID":"f9de6d99427829e04d6b7fef86306df7"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6b1ed2201ece1e7d5b81a47748956db9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6b1ed2201ece1e7d5b81a47748956db9","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0f4132ab-f3c8-44d0-bc3a-8a67c0304e97"}}},"level":"info","message":"received a callback","requestID":"6b1ed2201ece1e7d5b81a47748956db9"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"3ce69c50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/0f4132ab-f3c8-44d0-bc3a-8a67c0304e97 204 38ms","method":"DELETE","requestID":"3ce69c50-2989-11f0-8876-6f29f2a860cb","responseTime":38,"status":204,"url":"/peerconnections/0f4132ab-f3c8-44d0-bc3a-8a67c0304e97"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54"},"level":"info","message":"Successfully finished experiment","requestID":"c8104a3441370342e882fde3d420eb60"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3cee6480-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:25Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03eefdbc-85f6-4584-816e-2f092513e9d5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"63189dc6-da76-4580-be2d-ac8dfd025efa","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432985.8046522} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.175938,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3cee6480-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3cee6480-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3cee6480-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/03eefdbc-85f6-4584-816e-2f092513e9d5/signaling 200 8ms","method":"POST","requestID":"3cee6480-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/03eefdbc-85f6-4584-816e-2f092513e9d5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3cefeb20-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:25Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f307a51-b98b-4799-887d-8e37391f07ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"39d07c34-1f6c-424a-9dec-7163ab6bdc63","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432985.8146229} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.45668,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3cefeb20-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3cefeb20-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3cefeb20-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"e470071c-dbc5-45d4-b963-07453081bd16","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432985.818495} device-1 | {"level":"info","message":"POST /devices/6f307a51-b98b-4799-887d-8e37391f07ba/signaling 200 9ms","method":"POST","requestID":"3cefeb20-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/6f307a51-b98b-4799-887d-8e37391f07ba/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ac96a8ac-efb4-47e7-be5e-0d653ad218f3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432985.81875} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"c8104a3441370342e882fde3d420eb60","responseTime":21,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54","requestID":"c8104a3441370342e882fde3d420eb60"} gateway-1 | {"time_local":"05/May/2025:08:16:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c8104a3441370342e882fde3d420eb60"} experiment-1 | {"level":"info","message":"DELETE /experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54 204 173ms","method":"DELETE","requestID":"c8104a3441370342e882fde3d420eb60","responseTime":173,"status":204,"url":"/experiments/8b3b2fb1-703b-4727-a14a-fcfe3c0fcf54"} gateway-1 | {"time_local":"05/May/2025:08:16:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2274","request_time":"4.265","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"a86a9602c03027d0f57c9e9e04ff30d4"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6f307a51-b98b-4799-887d-8e37391f07ba' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"f9de6d99427829e04d6b7fef86306df7","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"f9de6d99427829e04d6b7fef86306df7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4NX0.NOc2Frsfvak3928cnCVx-_a4eJIS3nUwcZtIh7qTc_s","level":"info","message":"auth send jwt","requestID":"2a4b390251762a5bff16ec3e673a168d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"6b1ed2201ece1e7d5b81a47748956db9","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"6b1ed2201ece1e7d5b81a47748956db9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2a4b390251762a5bff16ec3e673a168d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2a4b390251762a5bff16ec3e673a168d"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.080326,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2a4b390251762a5bff16ec3e673a168d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432985,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4NX0.NOc2Frsfvak3928cnCVx-_a4eJIS3nUwcZtIh7qTc_s"} gateway-1 | {"time_local":"05/May/2025:08:16:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2532","request_time":"2.971","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"608140254785ddaf96d96b77434947cd"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2a4b390251762a5bff16ec3e673a168d","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/03eefdbc-85f6-4584-816e-2f092513e9d5' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e86eb50-141b-42cb-b153-dbcce07a3329","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7b091237-4946-4976-b9ba-1047f4fda72a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432985.9706168} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2a4b390251762a5bff16ec3e673a168d","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21b1a5bc-8a76-4978-9b94-1399710f211c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432985.9753172} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2a4b390251762a5bff16ec3e673a168d","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e86eb50-141b-42cb-b153-dbcce07a3329","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"5ad523ba-8e5e-431b-afad-4ce7d6f4ed73","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432986.0087628} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a0cd89ba-fe3c-4b2b-83e9-b148ce6eb846","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432986.008842} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"2a4b390251762a5bff16ec3e673a168d","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e86eb50-141b-42cb-b153-dbcce07a3329","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e86eb50-141b-42cb-b153-dbcce07a3329","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:26.008725162Z"}]},"request_id":"2ae235bc-682f-49d0-814c-00b1ff938658","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432986.013174} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2a4b390251762a5bff16ec3e673a168d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2a4b390251762a5bff16ec3e673a168d"} gateway-1 | {"time_local":"05/May/2025:08:16:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.100","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2a4b390251762a5bff16ec3e673a168d"} device-1 | {"level":"info","message":"POST /devices? 201 94ms","method":"POST","requestID":"2a4b390251762a5bff16ec3e673a168d","responseTime":94,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4Nn0.JHlgTp_rn04sv11nav6LlXnW9HlZUPQyohwog-MXp2w","level":"info","message":"auth send jwt","requestID":"06b7cba1deb69f0abee5d940eb0c3b01"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"06b7cba1deb69f0abee5d940eb0c3b01","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"06b7cba1deb69f0abee5d940eb0c3b01"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:26Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.68621,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"06b7cba1deb69f0abee5d940eb0c3b01","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432986,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4Nn0.JHlgTp_rn04sv11nav6LlXnW9HlZUPQyohwog-MXp2w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"06b7cba1deb69f0abee5d940eb0c3b01","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb10307-3216-4ff8-9b81-406831262c09","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ec2dc74e-bc06-4c1d-8461-d0b3e56609bf","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432986.059708} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"06b7cba1deb69f0abee5d940eb0c3b01","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5e0dc511-a870-4003-8a1e-5741ad4284cb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432986.0642827} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"06b7cba1deb69f0abee5d940eb0c3b01","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb10307-3216-4ff8-9b81-406831262c09","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"980ef095-5ca1-47f4-9e5c-e7f8296d94a8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432986.072542} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d9f7d515-cd90-4107-b98e-cce941d6fff3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432986.0726452} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"06b7cba1deb69f0abee5d940eb0c3b01","responseTime":35,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb10307-3216-4ff8-9b81-406831262c09","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb10307-3216-4ff8-9b81-406831262c09","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:26.072519759Z"}]},"request_id":"dfeb0b43-0c1b-4d6b-b4bc-aae4a75435fe","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432986.100471} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"06b7cba1deb69f0abee5d940eb0c3b01","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"06b7cba1deb69f0abee5d940eb0c3b01"} gateway-1 | {"time_local":"05/May/2025:08:16:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.086","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"06b7cba1deb69f0abee5d940eb0c3b01"} device-1 | {"level":"info","message":"POST /devices? 201 82ms","method":"POST","requestID":"06b7cba1deb69f0abee5d940eb0c3b01","responseTime":82,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4Nn0.JHlgTp_rn04sv11nav6LlXnW9HlZUPQyohwog-MXp2w","level":"info","message":"auth send jwt","requestID":"d39c2c7cc4d7fddae4e828d6449539c8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d39c2c7cc4d7fddae4e828d6449539c8","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4Nn0.JHlgTp_rn04sv11nav6LlXnW9HlZUPQyohwog-MXp2w","level":"info","message":"auth send jwt","requestID":"2921d732380285bb2b227bf4fcdcf64c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2921d732380285bb2b227bf4fcdcf64c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"d39c2c7cc4d7fddae4e828d6449539c8"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2921d732380285bb2b227bf4fcdcf64c"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:26Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.599101,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:26Z"} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"d39c2c7cc4d7fddae4e828d6449539c8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432986,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4Nn0.JHlgTp_rn04sv11nav6LlXnW9HlZUPQyohwog-MXp2w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d39c2c7cc4d7fddae4e828d6449539c8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.569241,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2921d732380285bb2b227bf4fcdcf64c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432986,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4Nn0.JHlgTp_rn04sv11nav6LlXnW9HlZUPQyohwog-MXp2w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2921d732380285bb2b227bf4fcdcf64c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb10307-3216-4ff8-9b81-406831262c09","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb10307-3216-4ff8-9b81-406831262c09","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:26.072519759Z"}]},"request_id":"c3035636-1570-4fdd-8e58-7237d6a77574","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432986.9801311} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d39c2c7cc4d7fddae4e828d6449539c8","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e86eb50-141b-42cb-b153-dbcce07a3329","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e86eb50-141b-42cb-b153-dbcce07a3329","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:26.008725162Z"}]},"request_id":"5a653b92-41f5-44ef-baec-a7578ace9b30","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432986.9810622} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2921d732380285bb2b227bf4fcdcf64c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fca27dec-553b-4abc-a23c-f9167dfb2d82","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432987.0094447} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"d39c2c7cc4d7fddae4e828d6449539c8","responseTime":29,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"36aa3c9d-d429-41c5-86ba-d969030daab7","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432987.0119526} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"2921d732380285bb2b227bf4fcdcf64c","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e86eb50-141b-42cb-b153-dbcce07a3329","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e86eb50-141b-42cb-b153-dbcce07a3329","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:26.008725162Z"}]},"request_id":"6b8788a3-64b6-49b3-9e64-fcc54ecf82ff","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432987.0143754} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2921d732380285bb2b227bf4fcdcf64c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2921d732380285bb2b227bf4fcdcf64c"} gateway-1 | {"time_local":"05/May/2025:08:16:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3e86eb50-141b-42cb-b153-dbcce07a3329 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.050","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"2921d732380285bb2b227bf4fcdcf64c"} device-1 | {"level":"info","message":"PATCH /devices/3e86eb50-141b-42cb-b153-dbcce07a3329 200 44ms","method":"PATCH","requestID":"2921d732380285bb2b227bf4fcdcf64c","responseTime":44,"status":200,"url":"/devices/3e86eb50-141b-42cb-b153-dbcce07a3329"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4N30.4gE0C2y3AxwcH8CsqKVZFCQuTC7Y44TiSGKLFA1zYow","level":"info","message":"auth send jwt","requestID":"5174bea2479145ea6ca0fa64b86e3b4d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5174bea2479145ea6ca0fa64b86e3b4d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5174bea2479145ea6ca0fa64b86e3b4d"} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.629896,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5174bea2479145ea6ca0fa64b86e3b4d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432987,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4N30.4gE0C2y3AxwcH8CsqKVZFCQuTC7Y44TiSGKLFA1zYow"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5174bea2479145ea6ca0fa64b86e3b4d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb10307-3216-4ff8-9b81-406831262c09","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb10307-3216-4ff8-9b81-406831262c09","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:26.072519759Z"}]},"request_id":"7a64953b-3bbf-4404-8ccd-61c6441e0d3d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432987.061812} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d39c2c7cc4d7fddae4e828d6449539c8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"d39c2c7cc4d7fddae4e828d6449539c8"} gateway-1 | {"time_local":"05/May/2025:08:16:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ddb10307-3216-4ff8-9b81-406831262c09 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.098","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"d39c2c7cc4d7fddae4e828d6449539c8"} device-1 | {"level":"info","message":"PATCH /devices/ddb10307-3216-4ff8-9b81-406831262c09 200 92ms","method":"PATCH","requestID":"d39c2c7cc4d7fddae4e828d6449539c8","responseTime":92,"status":200,"url":"/devices/ddb10307-3216-4ff8-9b81-406831262c09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4N30.4gE0C2y3AxwcH8CsqKVZFCQuTC7Y44TiSGKLFA1zYow","level":"info","message":"auth send jwt","requestID":"01f41a34a410379264aef0f198dd0605"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"01f41a34a410379264aef0f198dd0605","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"01f41a34a410379264aef0f198dd0605"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5174bea2479145ea6ca0fa64b86e3b4d"} device-1 | {"level":"info","message":"POST /devices/3e86eb50-141b-42cb-b153-dbcce07a3329/websocket 200 49ms","method":"POST","requestID":"5174bea2479145ea6ca0fa64b86e3b4d","responseTime":49,"status":200,"url":"/devices/3e86eb50-141b-42cb-b153-dbcce07a3329/websocket"} gateway-1 | {"time_local":"05/May/2025:08:16:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3e86eb50-141b-42cb-b153-dbcce07a3329/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"5174bea2479145ea6ca0fa64b86e3b4d"} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.671286,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"01f41a34a410379264aef0f198dd0605","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432987,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4N30.4gE0C2y3AxwcH8CsqKVZFCQuTC7Y44TiSGKLFA1zYow"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"01f41a34a410379264aef0f198dd0605","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"01f41a34a410379264aef0f198dd0605"} gateway-1 | {"time_local":"05/May/2025:08:16:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ddb10307-3216-4ff8-9b81-406831262c09/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"01f41a34a410379264aef0f198dd0605"} device-1 | {"level":"info","message":"POST /devices/ddb10307-3216-4ff8-9b81-406831262c09/websocket 200 38ms","method":"POST","requestID":"01f41a34a410379264aef0f198dd0605","responseTime":38,"status":200,"url":"/devices/ddb10307-3216-4ff8-9b81-406831262c09/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4N30.4gE0C2y3AxwcH8CsqKVZFCQuTC7Y44TiSGKLFA1zYow","level":"info","message":"auth send jwt","requestID":"949c02c7d7c886570e7b456b2bdb94eb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"949c02c7d7c886570e7b456b2bdb94eb","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"949c02c7d7c886570e7b456b2bdb94eb"} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.720639,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"949c02c7d7c886570e7b456b2bdb94eb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432987,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4N30.4gE0C2y3AxwcH8CsqKVZFCQuTC7Y44TiSGKLFA1zYow"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"949c02c7d7c886570e7b456b2bdb94eb","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e86eb50-141b-42cb-b153-dbcce07a3329","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e86eb50-141b-42cb-b153-dbcce07a3329","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:26.008725162Z"}]},"request_id":"6dd0c141-b41f-4bfc-be25-c3828e248fa2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432987.1213272} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"949c02c7d7c886570e7b456b2bdb94eb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"949c02c7d7c886570e7b456b2bdb94eb"} gateway-1 | {"time_local":"05/May/2025:08:16:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3e86eb50-141b-42cb-b153-dbcce07a3329? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"949c02c7d7c886570e7b456b2bdb94eb"} device-1 | {"level":"info","message":"GET /devices/3e86eb50-141b-42cb-b153-dbcce07a3329? 200 9ms","method":"GET","requestID":"949c02c7d7c886570e7b456b2bdb94eb","responseTime":9,"status":200,"url":"/devices/3e86eb50-141b-42cb-b153-dbcce07a3329?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4N30.4gE0C2y3AxwcH8CsqKVZFCQuTC7Y44TiSGKLFA1zYow","level":"info","message":"auth send jwt","requestID":"6c5900b09a6f726b728bdb164229933d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6c5900b09a6f726b728bdb164229933d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6c5900b09a6f726b728bdb164229933d"} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.654865,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6c5900b09a6f726b728bdb164229933d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432987,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4N30.4gE0C2y3AxwcH8CsqKVZFCQuTC7Y44TiSGKLFA1zYow"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6c5900b09a6f726b728bdb164229933d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb10307-3216-4ff8-9b81-406831262c09","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb10307-3216-4ff8-9b81-406831262c09","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:26.072519759Z"}]},"request_id":"307390a3-0b95-4d2c-8373-998a725eeb94","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432987.158676} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6c5900b09a6f726b728bdb164229933d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6c5900b09a6f726b728bdb164229933d"} gateway-1 | {"time_local":"05/May/2025:08:16:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ddb10307-3216-4ff8-9b81-406831262c09? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6c5900b09a6f726b728bdb164229933d"} device-1 | {"level":"info","message":"GET /devices/ddb10307-3216-4ff8-9b81-406831262c09? 200 34ms","method":"GET","requestID":"6c5900b09a6f726b728bdb164229933d","responseTime":34,"status":200,"url":"/devices/ddb10307-3216-4ff8-9b81-406831262c09?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4N30.4gE0C2y3AxwcH8CsqKVZFCQuTC7Y44TiSGKLFA1zYow","level":"info","message":"auth send jwt","requestID":"f2c89aca945a53c01c1c95fd220dfdb3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f2c89aca945a53c01c1c95fd220dfdb3","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"f2c89aca945a53c01c1c95fd220dfdb3"} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.757326,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"f2c89aca945a53c01c1c95fd220dfdb3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432987,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4N30.4gE0C2y3AxwcH8CsqKVZFCQuTC7Y44TiSGKLFA1zYow"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f2c89aca945a53c01c1c95fd220dfdb3","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001"},"level":"info","message":"Attempting to run experiment","requestID":"f2c89aca945a53c01c1c95fd220dfdb3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001"},"level":"info","message":"Attempting to book experiment","requestID":"f2c89aca945a53c01c1c95fd220dfdb3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001"},"level":"info","message":"Successfully booked experiment","requestID":"f2c89aca945a53c01c1c95fd220dfdb3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3dcbcc30-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3dcbf340-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.933153,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3dcbcc30-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432987,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4N30.4gE0C2y3AxwcH8CsqKVZFCQuTC7Y44TiSGKLFA1zYow"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3dcbcc30-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.859205,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3dcbf340-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432987,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4N30.4gE0C2y3AxwcH8CsqKVZFCQuTC7Y44TiSGKLFA1zYow"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3dcbf340-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e86eb50-141b-42cb-b153-dbcce07a3329","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e86eb50-141b-42cb-b153-dbcce07a3329","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:26.008725162Z"}]},"request_id":"48ed3d45-02cd-4749-a270-7ae720531b32","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432987.258309} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3dcbcc30-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb10307-3216-4ff8-9b81-406831262c09","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb10307-3216-4ff8-9b81-406831262c09","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:26.072519759Z"}]},"request_id":"b19f61a8-8ea0-46ad-a83c-47f76423fd5d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432987.2590704} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3dcbf340-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3dcbcc30-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/3e86eb50-141b-42cb-b153-dbcce07a3329? 200 11ms","method":"GET","requestID":"3dcbcc30-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/3e86eb50-141b-42cb-b153-dbcce07a3329?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3dcbf340-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/ddb10307-3216-4ff8-9b81-406831262c09? 200 11ms","method":"GET","requestID":"3dcbf340-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/ddb10307-3216-4ff8-9b81-406831262c09?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001"},"level":"info","message":"Setting up experiment","requestID":"f2c89aca945a53c01c1c95fd220dfdb3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"f2c89aca945a53c01c1c95fd220dfdb3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001"},"level":"info","message":"Successfully locked booking for experiment","requestID":"f2c89aca945a53c01c1c95fd220dfdb3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"f2c89aca945a53c01c1c95fd220dfdb3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"f2c89aca945a53c01c1c95fd220dfdb3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001"},"level":"info","message":"Attempting to update booking for experiment","requestID":"f2c89aca945a53c01c1c95fd220dfdb3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001"},"level":"info","message":"Successfully updated booking for experiment","requestID":"f2c89aca945a53c01c1c95fd220dfdb3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001"},"level":"info","message":"Successfully set up experiment","requestID":"f2c89aca945a53c01c1c95fd220dfdb3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3dda4b20-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3dda7230-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3dda9940-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001"},"level":"info","message":"Successfully running experiment","requestID":"f2c89aca945a53c01c1c95fd220dfdb3"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.000738,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3dda4b20-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432987,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4N30.4gE0C2y3AxwcH8CsqKVZFCQuTC7Y44TiSGKLFA1zYow"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3dda4b20-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46324","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.929304,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3dda7230-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432987,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4N30.4gE0C2y3AxwcH8CsqKVZFCQuTC7Y44TiSGKLFA1zYow"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3dda7230-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e86eb50-141b-42cb-b153-dbcce07a3329","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2b8eeb8d-af35-471f-b787-6449bcd12579","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432987.3537698} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.728034,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3dda9940-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3dda9940-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e86eb50-141b-42cb-b153-dbcce07a3329","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e86eb50-141b-42cb-b153-dbcce07a3329","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:26.008725162Z"}]},"request_id":"7cfcbaa5-0fc2-4825-a595-2a2f80e670f9","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432987.35604} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3dda9940-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"3dda4b20-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb10307-3216-4ff8-9b81-406831262c09","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb10307-3216-4ff8-9b81-406831262c09","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:26.072519759Z"}]},"request_id":"5a71629b-e8c1-48b8-8780-b1cd33a5f19b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432987.358476} device-1 | {"level":"info","message":"POST /devices/3e86eb50-141b-42cb-b153-dbcce07a3329/signaling 200 11ms","method":"POST","requestID":"3dda9940-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/3e86eb50-141b-42cb-b153-dbcce07a3329/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3dda7230-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3ddcbc20-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:27Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3dda4b20-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/3e86eb50-141b-42cb-b153-dbcce07a3329? 200 19ms","method":"GET","requestID":"3dda4b20-2989-11f0-8876-6f29f2a860cb","responseTime":19,"status":200,"url":"/devices/3e86eb50-141b-42cb-b153-dbcce07a3329?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3dda7230-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/ddb10307-3216-4ff8-9b81-406831262c09? 200 19ms","method":"GET","requestID":"3dda7230-2989-11f0-8876-6f29f2a860cb","responseTime":19,"status":200,"url":"/devices/ddb10307-3216-4ff8-9b81-406831262c09?"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb10307-3216-4ff8-9b81-406831262c09","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7d7ba9c0-d481-4189-a25e-9ca28d23c512","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432987.3668745} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.584811,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:27Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3de17710-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3ddcbc20-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"3ddcbc20-2989-11f0-8876-6f29f2a860cb","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d8741ac-a5d7-40f2-9d77-bcdf758adf0f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432987.393679} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F014eb53d-fbba-4acf-8508-a6f9685d2001#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F014eb53d-fbba-4acf-8508-a6f9685d2001","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"0bde60f0-764e-4890-b549-cdb60cef579d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432987.394041} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3ddcbc20-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/ddb10307-3216-4ff8-9b81-406831262c09/signaling 200 35ms","method":"POST","requestID":"3ddcbc20-2989-11f0-8876-6f29f2a860cb","responseTime":35,"status":200,"url":"/devices/ddb10307-3216-4ff8-9b81-406831262c09/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","method":"POST","requestID":"f2c89aca945a53c01c1c95fd220dfdb3","responseTime":46,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e86eb50-141b-42cb-b153-dbcce07a3329","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"101bae10-116f-446e-9bc6-26e5039cff4a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432987.3982694} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.769203,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3de17710-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3de17710-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3de17710-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/3e86eb50-141b-42cb-b153-dbcce07a3329/signaling 200 10ms","method":"POST","requestID":"3de17710-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/3e86eb50-141b-42cb-b153-dbcce07a3329/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3de324c0-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"f2c89aca945a53c01c1c95fd220dfdb3"} gateway-1 | {"time_local":"05/May/2025:08:16:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"785","request_time":"0.242","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f2c89aca945a53c01c1c95fd220dfdb3"} experiment-1 | {"level":"info","message":"POST /experiments? 201 240ms","method":"POST","requestID":"f2c89aca945a53c01c1c95fd220dfdb3","responseTime":240,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb10307-3216-4ff8-9b81-406831262c09","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"15c3972e-70dd-4d6d-8738-4951436ac967","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432987.408946} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.402494,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:27Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4N30.4gE0C2y3AxwcH8CsqKVZFCQuTC7Y44TiSGKLFA1zYow","level":"info","message":"auth send jwt","requestID":"42225a3a709c4d6f9bf31976b7400077"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"42225a3a709c4d6f9bf31976b7400077","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3de324c0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3de324c0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"42225a3a709c4d6f9bf31976b7400077"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.755558,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:27Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3de324c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/ddb10307-3216-4ff8-9b81-406831262c09/signaling 200 10ms","method":"POST","requestID":"3de324c0-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/ddb10307-3216-4ff8-9b81-406831262c09/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"42225a3a709c4d6f9bf31976b7400077","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432987,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4N30.4gE0C2y3AxwcH8CsqKVZFCQuTC7Y44TiSGKLFA1zYow"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"42225a3a709c4d6f9bf31976b7400077","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"f2c89aca945a53c01c1c95fd220dfdb3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001"},"level":"info","message":"Building connection plan","requestID":"f2c89aca945a53c01c1c95fd220dfdb3"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"e1215f5f-416c-494e-95f1-a70831ca5b63"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"449603ae-633d-4733-b5fa-632ab4496d31"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"5f796735-9fb5-4215-bd3d-c84b89c9c22f"}]},"level":"info","message":"Built pairwise service configurations","requestID":"f2c89aca945a53c01c1c95fd220dfdb3"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"f2c89aca945a53c01c1c95fd220dfdb3"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"3de8ca10-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e86eb50-141b-42cb-b153-dbcce07a3329","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e86eb50-141b-42cb-b153-dbcce07a3329","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:26.008725162Z"}]},"request_id":"8b3cf071-b93a-4ea1-84cd-bfd8b22e13c6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432987.442176} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"42225a3a709c4d6f9bf31976b7400077","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.584784,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3de8ca10-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432987,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4N30.4gE0C2y3AxwcH8CsqKVZFCQuTC7Y44TiSGKLFA1zYow"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3de8ca10-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"42225a3a709c4d6f9bf31976b7400077"} gateway-1 | {"time_local":"05/May/2025:08:16:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3e86eb50-141b-42cb-b153-dbcce07a3329? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"42225a3a709c4d6f9bf31976b7400077"} device-1 | {"level":"info","message":"GET /devices/3e86eb50-141b-42cb-b153-dbcce07a3329? 200 36ms","method":"GET","requestID":"42225a3a709c4d6f9bf31976b7400077","responseTime":36,"status":200,"url":"/devices/3e86eb50-141b-42cb-b153-dbcce07a3329?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4N30.4gE0C2y3AxwcH8CsqKVZFCQuTC7Y44TiSGKLFA1zYow","level":"info","message":"auth send jwt","requestID":"1accb2319dc3d084c47ebd7d37d17aa1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1accb2319dc3d084c47ebd7d37d17aa1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1accb2319dc3d084c47ebd7d37d17aa1"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"45daa4e7-6e00-4e45-89e7-3d898f6f3818","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432987.4526978} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"19549455-78fb-490a-9bf8-522a7b02c463","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432987.4529622} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"3de8ca10-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.672728,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"1accb2319dc3d084c47ebd7d37d17aa1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432987,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4N30.4gE0C2y3AxwcH8CsqKVZFCQuTC7Y44TiSGKLFA1zYow"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1accb2319dc3d084c47ebd7d37d17aa1","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb10307-3216-4ff8-9b81-406831262c09","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb10307-3216-4ff8-9b81-406831262c09","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:26.072519759Z"}]},"request_id":"21f5b613-6581-4ad8-b37c-02d167502e7d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432987.4588444} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1accb2319dc3d084c47ebd7d37d17aa1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"3de8ca10-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"3de8ca10-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/a1f29671-c021-44f8-94ec-da836f201e3f'","requestID":"3de8ca10-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a1f29671-c021-44f8-94ec-da836f201e3f'","requestID":"3de8ca10-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"3de8ca10-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 59ms","method":"POST","requestID":"3de8ca10-2989-11f0-8876-6f29f2a860cb","responseTime":59,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1accb2319dc3d084c47ebd7d37d17aa1"} device-1 | {"level":"info","message":"GET /devices/ddb10307-3216-4ff8-9b81-406831262c09? 200 50ms","method":"GET","requestID":"1accb2319dc3d084c47ebd7d37d17aa1","responseTime":50,"status":200,"url":"/devices/ddb10307-3216-4ff8-9b81-406831262c09?"} gateway-1 | {"time_local":"05/May/2025:08:16:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ddb10307-3216-4ff8-9b81-406831262c09? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1accb2319dc3d084c47ebd7d37d17aa1"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"3de8ca10-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"f2c89aca945a53c01c1c95fd220dfdb3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3df992f0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e86eb50-141b-42cb-b153-dbcce07a3329","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bb4150f8-3a0c-4b89-8917-970e65a0d12c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432987.5554383} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.36513,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3df992f0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3df992f0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3df992f0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/3e86eb50-141b-42cb-b153-dbcce07a3329/signaling 200 8ms","method":"POST","requestID":"3df992f0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/3e86eb50-141b-42cb-b153-dbcce07a3329/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3dfec310-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb10307-3216-4ff8-9b81-406831262c09","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"edfa7897-9af6-4186-90bc-9c839ae47b18","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432987.589947} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.897912,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3dfec310-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3dfec310-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3dfec310-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/ddb10307-3216-4ff8-9b81-406831262c09/signaling 200 9ms","method":"POST","requestID":"3dfec310-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/ddb10307-3216-4ff8-9b81-406831262c09/signaling"} device-1 | {"device":"ddb10307-3216-4ff8-9b81-406831262c09","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"a1f29671-c021-44f8-94ec-da836f201e3f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3e86eb50-141b-42cb-b153-dbcce07a3329","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"a1f29671-c021-44f8-94ec-da836f201e3f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3e86eb50-141b-42cb-b153-dbcce07a3329","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3e86eb50-141b-42cb-b153-dbcce07a3329","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3e86eb50-141b-42cb-b153-dbcce07a3329","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3e86eb50-141b-42cb-b153-dbcce07a3329","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a1f29671-c021-44f8-94ec-da836f201e3f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a1f29671-c021-44f8-94ec-da836f201e3f","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"750e2cb655adf35ccc5a05a2300bb5c5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"750e2cb655adf35ccc5a05a2300bb5c5","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a1f29671-c021-44f8-94ec-da836f201e3f"}}},"level":"info","message":"received a callback","requestID":"750e2cb655adf35ccc5a05a2300bb5c5"} device-1 | {"device":"ddb10307-3216-4ff8-9b81-406831262c09","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ddb10307-3216-4ff8-9b81-406831262c09","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ddb10307-3216-4ff8-9b81-406831262c09","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"750e2cb655adf35ccc5a05a2300bb5c5","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"750e2cb655adf35ccc5a05a2300bb5c5"} device-1 | {"device":"3e86eb50-141b-42cb-b153-dbcce07a3329","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"a1f29671-c021-44f8-94ec-da836f201e3f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ddb10307-3216-4ff8-9b81-406831262c09","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ddb10307-3216-4ff8-9b81-406831262c09","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3e86eb50-141b-42cb-b153-dbcce07a3329","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"a1f29671-c021-44f8-94ec-da836f201e3f","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a1f29671-c021-44f8-94ec-da836f201e3f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a1f29671-c021-44f8-94ec-da836f201e3f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7048f5768eecdb51ccc6f52c1e7770cf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7048f5768eecdb51ccc6f52c1e7770cf","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a1f29671-c021-44f8-94ec-da836f201e3f"}}},"level":"info","message":"received a callback","requestID":"7048f5768eecdb51ccc6f52c1e7770cf"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"3f30b360-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:29Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa1f29671-c021-44f8-94ec-da836f201e3f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a261e449-b0e1-4ac3-93e8-f14d544d9f20","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432989.5953333} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.719365,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a1f29671-c021-44f8-94ec-da836f201e3f","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3f30b360-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a1f29671-c021-44f8-94ec-da836f201e3f","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3f30b360-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"3f30b360-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/a1f29671-c021-44f8-94ec-da836f201e3f 200 9ms","method":"GET","requestID":"3f30b360-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/peerconnections/a1f29671-c021-44f8-94ec-da836f201e3f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"7048f5768eecdb51ccc6f52c1e7770cf","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"7048f5768eecdb51ccc6f52c1e7770cf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3f34f920-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:29Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e86eb50-141b-42cb-b153-dbcce07a3329","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c45412b4-940d-491d-8b78-b84c29d7ae17","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432989.6229703} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.545782,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3f34f920-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3f34f920-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3f34f920-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/3e86eb50-141b-42cb-b153-dbcce07a3329/signaling 200 9ms","method":"POST","requestID":"3f34f920-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/3e86eb50-141b-42cb-b153-dbcce07a3329/signaling"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:29Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb10307-3216-4ff8-9b81-406831262c09","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1c05c4e7-04c4-493f-bf6c-45a4fd634869","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432989.6328447} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3f367fc0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.525275,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3f367fc0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3f367fc0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3f367fc0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/ddb10307-3216-4ff8-9b81-406831262c09/signaling 200 10ms","method":"POST","requestID":"3f367fc0-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/ddb10307-3216-4ff8-9b81-406831262c09/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4OX0.l9_DTZwyVLtYuq-zHCmiis6cbhOzKcEYxBnLXWslQlE","level":"info","message":"auth send jwt","requestID":"4be9011d513756d246fa47e0d317b2c1"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"4be9011d513756d246fa47e0d317b2c1","responseTime":26,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/014eb53d-fbba-4acf-8508-a6f9685d2001","requestID":"4be9011d513756d246fa47e0d317b2c1"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:29Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.658526,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4be9011d513756d246fa47e0d317b2c1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432989,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4OX0.l9_DTZwyVLtYuq-zHCmiis6cbhOzKcEYxBnLXWslQlE"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"4be9011d513756d246fa47e0d317b2c1","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/014eb53d-fbba-4acf-8508-a6f9685d2001","requestID":"4be9011d513756d246fa47e0d317b2c1"} gateway-1 | {"time_local":"05/May/2025:08:16:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/014eb53d-fbba-4acf-8508-a6f9685d2001 HTTP/1.1","status": "200","body_bytes_sent":"858","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4be9011d513756d246fa47e0d317b2c1"} experiment-1 | {"level":"info","message":"GET /experiments/014eb53d-fbba-4acf-8508-a6f9685d2001 200 8ms","method":"GET","requestID":"4be9011d513756d246fa47e0d317b2c1","responseTime":8,"status":200,"url":"/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4OX0.l9_DTZwyVLtYuq-zHCmiis6cbhOzKcEYxBnLXWslQlE","level":"info","message":"auth send jwt","requestID":"700bc9ab3668a7fd5597ffa792aa8e74"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"700bc9ab3668a7fd5597ffa792aa8e74","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/014eb53d-fbba-4acf-8508-a6f9685d2001","requestID":"700bc9ab3668a7fd5597ffa792aa8e74"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:29Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.669067,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"700bc9ab3668a7fd5597ffa792aa8e74","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432989,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4OX0.l9_DTZwyVLtYuq-zHCmiis6cbhOzKcEYxBnLXWslQlE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"700bc9ab3668a7fd5597ffa792aa8e74","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001"},"level":"info","message":"Attempting to finish experiment","requestID":"700bc9ab3668a7fd5597ffa792aa8e74"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"3f53cbc0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:29Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.650521,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a1f29671-c021-44f8-94ec-da836f201e3f","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3f53cbc0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/a1f29671-c021-44f8-94ec-da836f201e3f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432989,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4OX0.l9_DTZwyVLtYuq-zHCmiis6cbhOzKcEYxBnLXWslQlE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3f53cbc0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"3e86eb50-141b-42cb-b153-dbcce07a3329","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3e86eb50-141b-42cb-b153-dbcce07a3329","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3e86eb50-141b-42cb-b153-dbcce07a3329","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a1f29671-c021-44f8-94ec-da836f201e3f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a1f29671-c021-44f8-94ec-da836f201e3f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a1f29671-c021-44f8-94ec-da836f201e3f","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa1f29671-c021-44f8-94ec-da836f201e3f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa1f29671-c021-44f8-94ec-da836f201e3f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"9f07b925-224f-4fac-81df-1e7181d02101","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432989.836424} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"41a69bcec38906e876ccb23b7fa0d235","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"41a69bcec38906e876ccb23b7fa0d235","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"aa6f915fc8d2e085ee71d5efa712b363","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"aa6f915fc8d2e085ee71d5efa712b363","responseTime":0,"status":200,"url":"/auth"} device-1 | {"device":"ddb10307-3216-4ff8-9b81-406831262c09","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ddb10307-3216-4ff8-9b81-406831262c09","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"55dc1457-0b60-4635-a8ae-52c1c5819c14","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432989.8393211} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a1f29671-c021-44f8-94ec-da836f201e3f"}}},"level":"info","message":"received a callback","requestID":"41a69bcec38906e876ccb23b7fa0d235"} device-1 | {"device":"ddb10307-3216-4ff8-9b81-406831262c09","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a1f29671-c021-44f8-94ec-da836f201e3f"}}},"level":"info","message":"received a callback","requestID":"aa6f915fc8d2e085ee71d5efa712b363"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"3f53cbc0-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"a1f29671-c021-44f8-94ec-da836f201e3f","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"3f53cbc0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/a1f29671-c021-44f8-94ec-da836f201e3f 204 41ms","method":"DELETE","requestID":"3f53cbc0-2989-11f0-8876-6f29f2a860cb","responseTime":41,"status":204,"url":"/peerconnections/a1f29671-c021-44f8-94ec-da836f201e3f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001"},"level":"info","message":"Successfully finished experiment","requestID":"700bc9ab3668a7fd5597ffa792aa8e74"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3f5c7e50-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:29Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e86eb50-141b-42cb-b153-dbcce07a3329","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c03820eb-be17-4b8f-97b8-a09a05559066","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432989.8810074} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.236315,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3f5c7e50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3f5c7e50-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3f5c7e50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/3e86eb50-141b-42cb-b153-dbcce07a3329/signaling 200 8ms","method":"POST","requestID":"3f5c7e50-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/3e86eb50-141b-42cb-b153-dbcce07a3329/signaling"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F014eb53d-fbba-4acf-8508-a6f9685d2001': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F014eb53d-fbba-4acf-8508-a6f9685d2001","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"c091f300-6df5-412f-a59d-9cd2cf56ab5a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432989.8877914} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3f5e04f0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"19dff406-b9ac-487c-a9b0-c695fc158e69","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432989.8879838} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"700bc9ab3668a7fd5597ffa792aa8e74","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:29Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb10307-3216-4ff8-9b81-406831262c09","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fdb6583f-897e-4cc5-83ff-311dad0a3382","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432989.8928392} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.461512,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3f5e04f0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3f5e04f0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3f5e04f0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/ddb10307-3216-4ff8-9b81-406831262c09/signaling 200 10ms","method":"POST","requestID":"3f5e04f0-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/ddb10307-3216-4ff8-9b81-406831262c09/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/014eb53d-fbba-4acf-8508-a6f9685d2001","requestID":"700bc9ab3668a7fd5597ffa792aa8e74"} gateway-1 | {"time_local":"05/May/2025:08:16:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/014eb53d-fbba-4acf-8508-a6f9685d2001 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.133","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"700bc9ab3668a7fd5597ffa792aa8e74"} experiment-1 | {"level":"info","message":"DELETE /experiments/014eb53d-fbba-4acf-8508-a6f9685d2001 204 130ms","method":"DELETE","requestID":"700bc9ab3668a7fd5597ffa792aa8e74","responseTime":130,"status":204,"url":"/experiments/014eb53d-fbba-4acf-8508-a6f9685d2001"} gateway-1 | {"time_local":"05/May/2025:08:16:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2532","request_time":"2.866","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"777d3860bcc6ec3d0cc1fc6a66f879c2"} gateway-1 | {"time_local":"05/May/2025:08:16:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2532","request_time":"2.831","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"5bdfeefd35973e32ea6cc986bb14df4e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 102ms","method":"POST","requestID":"41a69bcec38906e876ccb23b7fa0d235","responseTime":102,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.105","http_referrer":"","http_user_agent":"node-fetch","requestID":"41a69bcec38906e876ccb23b7fa0d235"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 102ms","method":"POST","requestID":"aa6f915fc8d2e085ee71d5efa712b363","responseTime":102,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.105","http_referrer":"","http_user_agent":"node-fetch","requestID":"aa6f915fc8d2e085ee71d5efa712b363"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4OX0.l9_DTZwyVLtYuq-zHCmiis6cbhOzKcEYxBnLXWslQlE","level":"info","message":"auth send jwt","requestID":"021793beb6d824b252f8878dda3561e2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"021793beb6d824b252f8878dda3561e2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ddb10307-3216-4ff8-9b81-406831262c09' closed"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3e86eb50-141b-42cb-b153-dbcce07a3329' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"021793beb6d824b252f8878dda3561e2"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:29Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.792024,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"021793beb6d824b252f8878dda3561e2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432989,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk4OX0.l9_DTZwyVLtYuq-zHCmiis6cbhOzKcEYxBnLXWslQlE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"021793beb6d824b252f8878dda3561e2","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeb9091c-7da1-4529-8e9a-5eaa12f8ea08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c58919b7-549f-4634-84f6-337e6e401f63","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432989.9929936} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"021793beb6d824b252f8878dda3561e2","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ebb0e2b0-0e66-45a1-a327-449c4c520efa","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432989.9985812} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"021793beb6d824b252f8878dda3561e2","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeb9091c-7da1-4529-8e9a-5eaa12f8ea08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"605582da-b215-4daf-9640-6fe0d10aa246","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432990.033914} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a2f5be27-5cb9-4e5a-9db4-2aad23049d3d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432990.0341716} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"021793beb6d824b252f8878dda3561e2","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeb9091c-7da1-4529-8e9a-5eaa12f8ea08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeb9091c-7da1-4529-8e9a-5eaa12f8ea08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:30.033893855Z"}]},"request_id":"3ccfdfa7-1133-4760-a3a7-dab423ac06fb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432990.0382857} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"021793beb6d824b252f8878dda3561e2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"021793beb6d824b252f8878dda3561e2"} gateway-1 | {"time_local":"05/May/2025:08:16:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.100","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"021793beb6d824b252f8878dda3561e2"} device-1 | {"level":"info","message":"POST /devices? 201 92ms","method":"POST","requestID":"021793beb6d824b252f8878dda3561e2","responseTime":92,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5MH0.e-TKemuMWBdcWfB9XGO0gNMJwIWLz6DWqviuq-PKCdU","level":"info","message":"auth send jwt","requestID":"4076c1e6ccf17b13faa83680a357cc71"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4076c1e6ccf17b13faa83680a357cc71","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4076c1e6ccf17b13faa83680a357cc71"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:30Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.799869,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4076c1e6ccf17b13faa83680a357cc71","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432990,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5MH0.e-TKemuMWBdcWfB9XGO0gNMJwIWLz6DWqviuq-PKCdU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4076c1e6ccf17b13faa83680a357cc71","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec37408d-461f-4a4c-a7ef-6ce5cc1766fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"59e93d2a-4a59-461f-96da-3943e98c8ae2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432990.083697} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4076c1e6ccf17b13faa83680a357cc71","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2cbf82e7-8b10-4eeb-a182-372cf0f7c4ad","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432990.0887406} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"4076c1e6ccf17b13faa83680a357cc71","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec37408d-461f-4a4c-a7ef-6ce5cc1766fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"3a8dc722-d2a6-48a5-8e96-ae048ff3acdc","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432990.0983572} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6e87f687-489c-4d35-b883-fb88ee5398ab","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432990.0984674} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"4076c1e6ccf17b13faa83680a357cc71","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec37408d-461f-4a4c-a7ef-6ce5cc1766fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec37408d-461f-4a4c-a7ef-6ce5cc1766fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:30.098331646Z"}]},"request_id":"0a7b5110-4075-496e-93a0-d5918de3bbfd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432990.1033866} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4076c1e6ccf17b13faa83680a357cc71","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4076c1e6ccf17b13faa83680a357cc71"} device-1 | {"level":"info","message":"POST /devices? 201 84ms","method":"POST","requestID":"4076c1e6ccf17b13faa83680a357cc71","responseTime":84,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"05/May/2025:08:16:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.088","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4076c1e6ccf17b13faa83680a357cc71"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5a16f28f2b5dfeead07078f50d2e5c89","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5a16f28f2b5dfeead07078f50d2e5c89","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e1a5d017700f827042b6ecc47422bb8a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e1a5d017700f827042b6ecc47422bb8a","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:16:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5a16f28f2b5dfeead07078f50d2e5c89"} device-1 | {"level":"info","message":"OPTIONS /devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08/websocket 200 2ms","method":"OPTIONS","requestID":"5a16f28f2b5dfeead07078f50d2e5c89","responseTime":2,"status":200,"url":"/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08/websocket"} gateway-1 | {"time_local":"05/May/2025:08:16:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.006","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e1a5d017700f827042b6ecc47422bb8a"} device-1 | {"level":"info","message":"OPTIONS /devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc/websocket 200 1ms","method":"OPTIONS","requestID":"e1a5d017700f827042b6ecc47422bb8a","responseTime":1,"status":200,"url":"/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Mn0.3Rj4DSk4891137SCW8El_gA70cf-bMwjI1GtDFq_QvY","level":"info","message":"auth send jwt","requestID":"592545281a5649ac9523d39f990f28a6"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"592545281a5649ac9523d39f990f28a6","responseTime":6,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Mn0.3Rj4DSk4891137SCW8El_gA70cf-bMwjI1GtDFq_QvY","level":"info","message":"auth send jwt","requestID":"dd1af7c52bd19b6feea8d9832212bb88"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"dd1af7c52bd19b6feea8d9832212bb88","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"592545281a5649ac9523d39f990f28a6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"dd1af7c52bd19b6feea8d9832212bb88"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.485886,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"592545281a5649ac9523d39f990f28a6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432992,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Mn0.3Rj4DSk4891137SCW8El_gA70cf-bMwjI1GtDFq_QvY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"592545281a5649ac9523d39f990f28a6","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.407807,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"dd1af7c52bd19b6feea8d9832212bb88","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432992,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Mn0.3Rj4DSk4891137SCW8El_gA70cf-bMwjI1GtDFq_QvY"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"dd1af7c52bd19b6feea8d9832212bb88","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"dd1af7c52bd19b6feea8d9832212bb88"} gateway-1 | {"time_local":"05/May/2025:08:16:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.033","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"dd1af7c52bd19b6feea8d9832212bb88"} device-1 | {"level":"info","message":"POST /devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc/websocket 200 24ms","method":"POST","requestID":"dd1af7c52bd19b6feea8d9832212bb88","responseTime":24,"status":200,"url":"/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"592545281a5649ac9523d39f990f28a6"} gateway-1 | {"time_local":"05/May/2025:08:16:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.050","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"592545281a5649ac9523d39f990f28a6"} device-1 | {"level":"info","message":"POST /devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08/websocket 200 42ms","method":"POST","requestID":"592545281a5649ac9523d39f990f28a6","responseTime":42,"status":200,"url":"/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Mn0.3Rj4DSk4891137SCW8El_gA70cf-bMwjI1GtDFq_QvY","level":"info","message":"auth send jwt","requestID":"a085d912bfae6efe08f8b1028744555f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a085d912bfae6efe08f8b1028744555f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a085d912bfae6efe08f8b1028744555f"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.735244,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"a085d912bfae6efe08f8b1028744555f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432992,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Mn0.3Rj4DSk4891137SCW8El_gA70cf-bMwjI1GtDFq_QvY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a085d912bfae6efe08f8b1028744555f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeb9091c-7da1-4529-8e9a-5eaa12f8ea08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeb9091c-7da1-4529-8e9a-5eaa12f8ea08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:30.033893855Z"}]},"request_id":"b19ae7a7-c581-4904-a1b1-7c69b7b5e14d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432992.4909859} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a085d912bfae6efe08f8b1028744555f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a085d912bfae6efe08f8b1028744555f"} gateway-1 | {"time_local":"05/May/2025:08:16:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a085d912bfae6efe08f8b1028744555f"} device-1 | {"level":"info","message":"GET /devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08? 200 12ms","method":"GET","requestID":"a085d912bfae6efe08f8b1028744555f","responseTime":12,"status":200,"url":"/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Mn0.3Rj4DSk4891137SCW8El_gA70cf-bMwjI1GtDFq_QvY","level":"info","message":"auth send jwt","requestID":"9479c3539170b116ec35dad6932bf01b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9479c3539170b116ec35dad6932bf01b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9479c3539170b116ec35dad6932bf01b"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.68459,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"9479c3539170b116ec35dad6932bf01b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432992,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Mn0.3Rj4DSk4891137SCW8El_gA70cf-bMwjI1GtDFq_QvY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9479c3539170b116ec35dad6932bf01b","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec37408d-461f-4a4c-a7ef-6ce5cc1766fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec37408d-461f-4a4c-a7ef-6ce5cc1766fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:30.098331646Z"}]},"request_id":"3b695d73-ebbe-4e9d-9d99-324c32d54c8b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432992.5078323} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9479c3539170b116ec35dad6932bf01b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9479c3539170b116ec35dad6932bf01b"} gateway-1 | {"time_local":"05/May/2025:08:16:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9479c3539170b116ec35dad6932bf01b"} device-1 | {"level":"info","message":"GET /devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc? 200 11ms","method":"GET","requestID":"9479c3539170b116ec35dad6932bf01b","responseTime":11,"status":200,"url":"/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Mn0.3Rj4DSk4891137SCW8El_gA70cf-bMwjI1GtDFq_QvY","level":"info","message":"auth send jwt","requestID":"59f0109ce7d1248db95561203c9bb5f4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"59f0109ce7d1248db95561203c9bb5f4","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"59f0109ce7d1248db95561203c9bb5f4"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.683932,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"59f0109ce7d1248db95561203c9bb5f4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432992,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Mn0.3Rj4DSk4891137SCW8El_gA70cf-bMwjI1GtDFq_QvY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"59f0109ce7d1248db95561203c9bb5f4","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9"},"level":"info","message":"Attempting to run experiment","requestID":"59f0109ce7d1248db95561203c9bb5f4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9"},"level":"info","message":"Attempting to book experiment","requestID":"59f0109ce7d1248db95561203c9bb5f4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9"},"level":"info","message":"Successfully booked experiment","requestID":"59f0109ce7d1248db95561203c9bb5f4"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"40f87b10-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"40f8a220-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.637712,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"40f87b10-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432992,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Mn0.3Rj4DSk4891137SCW8El_gA70cf-bMwjI1GtDFq_QvY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"40f87b10-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.464031,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"40f8a220-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432992,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Mn0.3Rj4DSk4891137SCW8El_gA70cf-bMwjI1GtDFq_QvY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"40f8a220-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeb9091c-7da1-4529-8e9a-5eaa12f8ea08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeb9091c-7da1-4529-8e9a-5eaa12f8ea08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:30.033893855Z"}]},"request_id":"37a029d6-d2e3-4519-9ca8-749bd710c2aa","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432992.5858283} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"40f87b10-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec37408d-461f-4a4c-a7ef-6ce5cc1766fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec37408d-461f-4a4c-a7ef-6ce5cc1766fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:30.098331646Z"}]},"request_id":"064946d5-7453-4b51-aee3-3f2496fd2630","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432992.5863981} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"40f8a220-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"40f87b10-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08? 200 13ms","method":"GET","requestID":"40f87b10-2989-11f0-8876-6f29f2a860cb","responseTime":13,"status":200,"url":"/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"40f8a220-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc? 200 13ms","method":"GET","requestID":"40f8a220-2989-11f0-8876-6f29f2a860cb","responseTime":13,"status":200,"url":"/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9"},"level":"info","message":"Setting up experiment","requestID":"59f0109ce7d1248db95561203c9bb5f4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"59f0109ce7d1248db95561203c9bb5f4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9"},"level":"info","message":"Successfully locked booking for experiment","requestID":"59f0109ce7d1248db95561203c9bb5f4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"59f0109ce7d1248db95561203c9bb5f4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"59f0109ce7d1248db95561203c9bb5f4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9"},"level":"info","message":"Attempting to update booking for experiment","requestID":"59f0109ce7d1248db95561203c9bb5f4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9"},"level":"info","message":"Successfully updated booking for experiment","requestID":"59f0109ce7d1248db95561203c9bb5f4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9"},"level":"info","message":"Successfully set up experiment","requestID":"59f0109ce7d1248db95561203c9bb5f4"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"41035080-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"41074820-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9"},"level":"info","message":"Successfully running experiment","requestID":"59f0109ce7d1248db95561203c9bb5f4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"41079640-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685599,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"41035080-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432992,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Mn0.3Rj4DSk4891137SCW8El_gA70cf-bMwjI1GtDFq_QvY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"41035080-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.89526,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"41074820-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432992,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Mn0.3Rj4DSk4891137SCW8El_gA70cf-bMwjI1GtDFq_QvY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"41074820-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeb9091c-7da1-4529-8e9a-5eaa12f8ea08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23b52db7-3813-4e2a-9e50-8817473416db","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432992.6824634} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.741772,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeb9091c-7da1-4529-8e9a-5eaa12f8ea08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeb9091c-7da1-4529-8e9a-5eaa12f8ea08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:30.033893855Z"}]},"request_id":"cf08e2ec-bda9-493b-bf61-5d411f7bfc0f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432992.683511} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"41079640-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"41079640-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"41035080-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec37408d-461f-4a4c-a7ef-6ce5cc1766fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec37408d-461f-4a4c-a7ef-6ce5cc1766fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:30.098331646Z"}]},"request_id":"1684aece-ce9b-41ba-a981-aeb899279072","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432992.6847243} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"41074820-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"41035080-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08? 200 18ms","method":"GET","requestID":"41035080-2989-11f0-8876-6f29f2a860cb","responseTime":18,"status":200,"url":"/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"41079640-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08/signaling 200 15ms","method":"POST","requestID":"41079640-2989-11f0-8876-6f29f2a860cb","responseTime":15,"status":200,"url":"/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"41074820-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc? 200 18ms","method":"GET","requestID":"41074820-2989-11f0-8876-6f29f2a860cb","responseTime":18,"status":200,"url":"/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"410a2e50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"410a7c70-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F246e0a42-9e26-41d1-a133-4b948df1a4b9#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F246e0a42-9e26-41d1-a133-4b948df1a4b9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"5a0093bd-4f8e-47d3-a8b5-0203f3820996","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432992.696186} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f02a3ccb-c27e-414f-96b0-b28e72fee31e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432992.6965594} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec37408d-461f-4a4c-a7ef-6ce5cc1766fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7274102c-c316-40f5-b31f-cb2e22c033f8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432992.7230928} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.577843,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","method":"POST","requestID":"59f0109ce7d1248db95561203c9bb5f4","responseTime":46,"status":200,"url":"/relations/update"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"410a2e50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"410a2e50-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeb9091c-7da1-4529-8e9a-5eaa12f8ea08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5596e73-f5cc-4ed5-8c9d-465a9a9081eb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432992.7247198} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.592974,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"410a7c70-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"410a7c70-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"410a2e50-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"59f0109ce7d1248db95561203c9bb5f4"} device-1 | {"level":"info","message":"POST /devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc/signaling 200 37ms","method":"POST","requestID":"410a2e50-2989-11f0-8876-6f29f2a860cb","responseTime":37,"status":200,"url":"/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"410a7c70-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"level":"info","message":"POST /experiments? 201 215ms","method":"POST","requestID":"59f0109ce7d1248db95561203c9bb5f4","responseTime":215,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08/signaling 200 35ms","method":"POST","requestID":"410a7c70-2989-11f0-8876-6f29f2a860cb","responseTime":35,"status":200,"url":"/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08/signaling"} gateway-1 | {"time_local":"05/May/2025:08:16:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.218","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"59f0109ce7d1248db95561203c9bb5f4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"411048d0-2989-11f0-8876-6f29f2a860cb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Mn0.3Rj4DSk4891137SCW8El_gA70cf-bMwjI1GtDFq_QvY","level":"info","message":"auth send jwt","requestID":"b6916c682eda4a91e6cb212203c3c32a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b6916c682eda4a91e6cb212203c3c32a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b6916c682eda4a91e6cb212203c3c32a"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec37408d-461f-4a4c-a7ef-6ce5cc1766fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2fb5cbbf-e279-4d33-8f9c-b22ba6ea2ee2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432992.737709} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.746583,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.65981,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"411048d0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"411048d0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"b6916c682eda4a91e6cb212203c3c32a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432992,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Mn0.3Rj4DSk4891137SCW8El_gA70cf-bMwjI1GtDFq_QvY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b6916c682eda4a91e6cb212203c3c32a","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"411048d0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc/signaling 200 9ms","method":"POST","requestID":"411048d0-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeb9091c-7da1-4529-8e9a-5eaa12f8ea08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeb9091c-7da1-4529-8e9a-5eaa12f8ea08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:30.033893855Z"}]},"request_id":"8641e41b-134c-4d46-a757-94bb2b2c29d3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432992.7430444} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"59f0109ce7d1248db95561203c9bb5f4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9"},"level":"info","message":"Building connection plan","requestID":"59f0109ce7d1248db95561203c9bb5f4"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"debf9cdb-1030-41dd-9872-ab498639a473"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"89926cdd-455f-49c1-a4ab-e882c63b8abe"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"33b5766c-afec-4c0a-8f40-752136eba05f"}]},"level":"info","message":"Built pairwise service configurations","requestID":"59f0109ce7d1248db95561203c9bb5f4"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b6916c682eda4a91e6cb212203c3c32a","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"59f0109ce7d1248db95561203c9bb5f4"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"4115ee20-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b6916c682eda4a91e6cb212203c3c32a"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:32Z"} device-1 | {"level":"info","message":"GET /devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08? 200 37ms","method":"GET","requestID":"b6916c682eda4a91e6cb212203c3c32a","responseTime":37,"status":200,"url":"/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08?"} gateway-1 | {"time_local":"05/May/2025:08:16:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b6916c682eda4a91e6cb212203c3c32a"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.916651,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4115ee20-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432992,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Mn0.3Rj4DSk4891137SCW8El_gA70cf-bMwjI1GtDFq_QvY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4115ee20-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Mn0.3Rj4DSk4891137SCW8El_gA70cf-bMwjI1GtDFq_QvY","level":"info","message":"auth send jwt","requestID":"dd3015daf756b7160cb54d9bc22fcc89"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dd3015daf756b7160cb54d9bc22fcc89","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dd3015daf756b7160cb54d9bc22fcc89"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.628841,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"dd3015daf756b7160cb54d9bc22fcc89","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432992,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Mn0.3Rj4DSk4891137SCW8El_gA70cf-bMwjI1GtDFq_QvY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"dd3015daf756b7160cb54d9bc22fcc89","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"6e54dd25-46c1-40fb-ab74-5f913a87e117","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432992.7826262} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"929b76e9-b674-4acb-b22a-97399151a183","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432992.7828338} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec37408d-461f-4a4c-a7ef-6ce5cc1766fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec37408d-461f-4a4c-a7ef-6ce5cc1766fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:30.098331646Z"}]},"request_id":"a463c8a2-d8cb-4988-a159-bb1c841cfb34","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432992.7834935} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"4115ee20-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dd3015daf756b7160cb54d9bc22fcc89","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dd3015daf756b7160cb54d9bc22fcc89"} gateway-1 | {"time_local":"05/May/2025:08:16:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd3015daf756b7160cb54d9bc22fcc89"} device-1 | {"level":"info","message":"GET /devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc? 200 12ms","method":"GET","requestID":"dd3015daf756b7160cb54d9bc22fcc89","responseTime":12,"status":200,"url":"/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"4115ee20-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"4115ee20-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0'","requestID":"4115ee20-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0'","requestID":"4115ee20-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"4115ee20-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 53ms","method":"POST","requestID":"4115ee20-2989-11f0-8876-6f29f2a860cb","responseTime":53,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"4115ee20-2989-11f0-8876-6f29f2a860cb"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0","device":"ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0","device":"eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"59f0109ce7d1248db95561203c9bb5f4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4125cca0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeb9091c-7da1-4529-8e9a-5eaa12f8ea08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7ecff4d4-6c11-4fd4-8242-a55e700abfce","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432992.8782547} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.38185,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4125cca0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4125cca0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4125cca0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08/signaling 200 8ms","method":"POST","requestID":"4125cca0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"41275340-2989-11f0-8876-6f29f2a860cb"} device-1 | {"device":"ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec37408d-461f-4a4c-a7ef-6ce5cc1766fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cbf11db4-7656-4e19-90bd-f55093c48b4a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432992.9131427} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.785973,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"41275340-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"41275340-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"41275340-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc/signaling 200 34ms","method":"POST","requestID":"41275340-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc/signaling"} device-1 | {"device":"eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 5155261487174329801 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:MFwY\r\na=ice-pwd:T3PPggq5IEot7R++ArNyCgDc\r\na=ice-options:trickle\r\na=fingerprint:sha-256 57:61:80:ED:E5:1F:DA:21:F0:2D:1E:17:9B:E9:83:FA:59:68:77:68:3C:05:7F:E5:05:B6:D7:C3:81:28:EF:7C\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 6489747066069947983 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:BLa+\r\na=ice-pwd:ib4K6VwXaK+9FJiiF9qhDzQu\r\na=ice-options:trickle\r\na=fingerprint:sha-256 13:7E:75:D6:41:29:A0:B6:6E:B6:22:22:80:22:96:5B:4C:A6:F9:F6:56:75:F9:36:63:7B:CC:90:9E:05:43:72\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1138000891 1 udp 2113937151 ec75f25c-13e2-4ffa-9931-f9c311f2aa76.local 51821 typ host generation 0 ufrag BLa+ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc'"} device-1 | {"content":{"candidate":"candidate:10038706 1 udp 2113937151 b491bd3a-5286-4848-8b8f-d94420853fa4.local 60728 typ host generation 0 ufrag MFwY network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"80f26d6c230c3bd9088f9ea76a3c51db","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"80f26d6c230c3bd9088f9ea76a3c51db","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0"}}},"level":"info","message":"received a callback","requestID":"80f26d6c230c3bd9088f9ea76a3c51db"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"80f26d6c230c3bd9088f9ea76a3c51db","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"80f26d6c230c3bd9088f9ea76a3c51db"} device-1 | {"device":"eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"42438f44c1150902313c99ec93c4ae34","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"42438f44c1150902313c99ec93c4ae34","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0"}}},"level":"info","message":"received a callback","requestID":"42438f44c1150902313c99ec93c4ae34"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"41422e40-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:33Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fedd2330d-f70d-4fc8-b577-4a0fcd9a7fd0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98d39c1f-473e-45cf-b9a2-0be5d794fddd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432993.063968} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.19481,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"41422e40-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"41422e40-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"41422e40-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0 200 7ms","method":"GET","requestID":"41422e40-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/peerconnections/edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5M30.8ep1zA70qs-jwv2XLvrhuqZSdYpI2v7EyiQ5lEeRnNM","level":"info","message":"auth send jwt","requestID":"ff5168608ba36fcc5f09be9a42ac9f8b"} authentication-1 | {"level":"info","message":"GET /auth 200 23ms","method":"GET","requestID":"ff5168608ba36fcc5f09be9a42ac9f8b","responseTime":23,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9","requestID":"ff5168608ba36fcc5f09be9a42ac9f8b"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:33Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.960563,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"ff5168608ba36fcc5f09be9a42ac9f8b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432993,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5M30.8ep1zA70qs-jwv2XLvrhuqZSdYpI2v7EyiQ5lEeRnNM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ff5168608ba36fcc5f09be9a42ac9f8b","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 82ms","method":"POST","requestID":"42438f44c1150902313c99ec93c4ae34","responseTime":82,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.085","http_referrer":"","http_user_agent":"node-fetch","requestID":"42438f44c1150902313c99ec93c4ae34"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"414a6ba0-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9","requestID":"ff5168608ba36fcc5f09be9a42ac9f8b"} gateway-1 | {"time_local":"05/May/2025:08:16:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ff5168608ba36fcc5f09be9a42ac9f8b"} experiment-1 | {"level":"info","message":"GET /experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9 200 11ms","method":"GET","requestID":"ff5168608ba36fcc5f09be9a42ac9f8b","responseTime":11,"status":200,"url":"/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:33Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec37408d-461f-4a4c-a7ef-6ce5cc1766fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"01791bc3-f3de-4480-856b-d2549d44bcd3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432993.1189823} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5M30.8ep1zA70qs-jwv2XLvrhuqZSdYpI2v7EyiQ5lEeRnNM","level":"info","message":"auth send jwt","requestID":"0138f5448c24ab282bf7338c74fb0e1e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0138f5448c24ab282bf7338c74fb0e1e","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.484268,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:33Z"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9","requestID":"0138f5448c24ab282bf7338c74fb0e1e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"414a6ba0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"414a6ba0-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:33Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"414a6ba0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.747643,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:33Z"} device-1 | {"level":"info","message":"POST /devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc/signaling 200 10ms","method":"POST","requestID":"414a6ba0-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc/signaling"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"0138f5448c24ab282bf7338c74fb0e1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432993,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5M30.8ep1zA70qs-jwv2XLvrhuqZSdYpI2v7EyiQ5lEeRnNM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0138f5448c24ab282bf7338c74fb0e1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"414c4060-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:33Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9"},"level":"info","message":"Attempting to finish experiment","requestID":"0138f5448c24ab282bf7338c74fb0e1e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"4150ad30-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeb9091c-7da1-4529-8e9a-5eaa12f8ea08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e2369e66-3780-4e3a-917f-bb271a7a9515","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432993.1553895} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.573536,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"414c4060-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"414c4060-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:33Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.641936,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:33Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"414c4060-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4150ad30-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432993,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5M30.8ep1zA70qs-jwv2XLvrhuqZSdYpI2v7EyiQ5lEeRnNM"} device-1 | {"level":"info","message":"POST /devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08/signaling 200 33ms","method":"POST","requestID":"414c4060-2989-11f0-8876-6f29f2a860cb","responseTime":33,"status":200,"url":"/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4150ad30-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0","device":"ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0","device":"eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fedd2330d-f70d-4fc8-b577-4a0fcd9a7fd0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fedd2330d-f70d-4fc8-b577-4a0fcd9a7fd0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"96035e07-3384-4e47-893e-15b845b43595","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432993.171076} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6872d560a8d80d7dcd3ba88da0f2c8a8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dbee1070-724e-4361-b4bf-f38747ed81ac","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432993.171417} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6872d560a8d80d7dcd3ba88da0f2c8a8","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"4150ad30-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5663a85fe685ff3cbab02c8f6b600537","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5663a85fe685ff3cbab02c8f6b600537","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0"}}},"level":"info","message":"received a callback","requestID":"6872d560a8d80d7dcd3ba88da0f2c8a8"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0"}}},"level":"info","message":"received a callback","requestID":"5663a85fe685ff3cbab02c8f6b600537"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"4150ad30-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0 204 51ms","method":"DELETE","requestID":"4150ad30-2989-11f0-8876-6f29f2a860cb","responseTime":51,"status":204,"url":"/peerconnections/edd2330d-f70d-4fc8-b577-4a0fcd9a7fd0"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9"},"level":"info","message":"Successfully finished experiment","requestID":"0138f5448c24ab282bf7338c74fb0e1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"415abf50-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:33Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec37408d-461f-4a4c-a7ef-6ce5cc1766fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bcfd3ebe-7404-4d8f-98cb-5fae26ce6420","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432993.2489614} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.302921,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"415abf50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"415abf50-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"415abf50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc/signaling 200 31ms","method":"POST","requestID":"415abf50-2989-11f0-8876-6f29f2a860cb","responseTime":31,"status":200,"url":"/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"415fef70-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F246e0a42-9e26-41d1-a133-4b948df1a4b9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F246e0a42-9e26-41d1-a133-4b948df1a4b9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"7983b2da-65ed-4836-b131-e32ee3e90b03","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432993.2550316} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cceb997b-9579-4056-bed1-dabd3ec3c696","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432993.2552187} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"0138f5448c24ab282bf7338c74fb0e1e","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:33Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeb9091c-7da1-4529-8e9a-5eaa12f8ea08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc8382d2-c44c-4568-b8a0-5b82bc215754","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432993.2599406} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.323966,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"415fef70-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"415fef70-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"415fef70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08/signaling 200 9ms","method":"POST","requestID":"415fef70-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9","requestID":"0138f5448c24ab282bf7338c74fb0e1e"} gateway-1 | {"time_local":"05/May/2025:08:16:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.233","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0138f5448c24ab282bf7338c74fb0e1e"} experiment-1 | {"level":"info","message":"DELETE /experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9 204 229ms","method":"DELETE","requestID":"0138f5448c24ab282bf7338c74fb0e1e","responseTime":229,"status":204,"url":"/experiments/246e0a42-9e26-41d1-a133-4b948df1a4b9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 178ms","method":"POST","requestID":"6872d560a8d80d7dcd3ba88da0f2c8a8","responseTime":178,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.182","http_referrer":"","http_user_agent":"node-fetch","requestID":"6872d560a8d80d7dcd3ba88da0f2c8a8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 178ms","method":"POST","requestID":"5663a85fe685ff3cbab02c8f6b600537","responseTime":178,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch","requestID":"5663a85fe685ff3cbab02c8f6b600537"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5M30.8ep1zA70qs-jwv2XLvrhuqZSdYpI2v7EyiQ5lEeRnNM","level":"info","message":"auth send jwt","requestID":"efa2fac841d7c9f98a773e33c228158d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"efa2fac841d7c9f98a773e33c228158d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"efa2fac841d7c9f98a773e33c228158d"} gateway-1 | {"time_local":"05/May/2025:08:16:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2580","request_time":"0.884","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c083013d039ea69f1ab367888a54e0a3"} gateway-1 | {"time_local":"05/May/2025:08:16:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2576","request_time":"0.898","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"744dca7f1eb10f9dee79ca2e600a0502"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:33Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.889315,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:33Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/eeb9091c-7da1-4529-8e9a-5eaa12f8ea08' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"efa2fac841d7c9f98a773e33c228158d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432993,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5M30.8ep1zA70qs-jwv2XLvrhuqZSdYpI2v7EyiQ5lEeRnNM"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ec37408d-461f-4a4c-a7ef-6ce5cc1766fc' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"efa2fac841d7c9f98a773e33c228158d","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41fbeec8-d928-4724-bc21-8b610a73ce91","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ddc792c7-a5d5-405e-a404-694a3dc177d6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432993.4042566} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"efa2fac841d7c9f98a773e33c228158d","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5a61caac-68f2-4341-a580-ddec6713147e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432993.4079998} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"efa2fac841d7c9f98a773e33c228158d","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41fbeec8-d928-4724-bc21-8b610a73ce91","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"24ea147d-7adf-43cf-a733-0708f2946735","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432993.4426773} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07cbaf59-4678-4bf9-ac86-4ca57b29e996","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432993.4428024} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"efa2fac841d7c9f98a773e33c228158d","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41fbeec8-d928-4724-bc21-8b610a73ce91","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41fbeec8-d928-4724-bc21-8b610a73ce91","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:33.442658861Z"}]},"request_id":"0e3f3ef1-c3a0-4550-b50e-ab505235264b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432993.446737} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"efa2fac841d7c9f98a773e33c228158d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"efa2fac841d7c9f98a773e33c228158d"} gateway-1 | {"time_local":"05/May/2025:08:16:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.096","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"efa2fac841d7c9f98a773e33c228158d"} device-1 | {"level":"info","message":"POST /devices? 201 92ms","method":"POST","requestID":"efa2fac841d7c9f98a773e33c228158d","responseTime":92,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5M30.8ep1zA70qs-jwv2XLvrhuqZSdYpI2v7EyiQ5lEeRnNM","level":"info","message":"auth send jwt","requestID":"e4f1d37290eda3baaae1e7c684d0b87f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e4f1d37290eda3baaae1e7c684d0b87f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e4f1d37290eda3baaae1e7c684d0b87f"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:33Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.62536,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"e4f1d37290eda3baaae1e7c684d0b87f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432993,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5M30.8ep1zA70qs-jwv2XLvrhuqZSdYpI2v7EyiQ5lEeRnNM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e4f1d37290eda3baaae1e7c684d0b87f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec799a2c-471e-4433-a2e7-ac672f02ee95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0bd156f3-0c5b-471c-a00e-77c2c3df9536","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432993.4912739} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e4f1d37290eda3baaae1e7c684d0b87f","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d6efc2c5-73a2-4fa1-865e-2bb06d945e20","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432993.4954424} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e4f1d37290eda3baaae1e7c684d0b87f","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec799a2c-471e-4433-a2e7-ac672f02ee95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"13eaf1e2-e222-4653-ae6c-a55afa781f1b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432993.5041738} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a61942dc-621a-4d01-bb96-8df554e4bda2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432993.5052183} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"e4f1d37290eda3baaae1e7c684d0b87f","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec799a2c-471e-4433-a2e7-ac672f02ee95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec799a2c-471e-4433-a2e7-ac672f02ee95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:33.504150285Z"}]},"request_id":"63d8392b-e977-472f-8b9a-2106c4ab53d0","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432993.5088532} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e4f1d37290eda3baaae1e7c684d0b87f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e4f1d37290eda3baaae1e7c684d0b87f"} gateway-1 | {"time_local":"05/May/2025:08:16:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e4f1d37290eda3baaae1e7c684d0b87f"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"e4f1d37290eda3baaae1e7c684d0b87f","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"87a39f509a076c27bbc9bba178d16cb5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"87a39f509a076c27bbc9bba178d16cb5","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:16:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ec799a2c-471e-4433-a2e7-ac672f02ee95/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"87a39f509a076c27bbc9bba178d16cb5"} device-1 | {"level":"info","message":"OPTIONS /devices/ec799a2c-471e-4433-a2e7-ac672f02ee95/websocket 200 1ms","method":"OPTIONS","requestID":"87a39f509a076c27bbc9bba178d16cb5","responseTime":1,"status":200,"url":"/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5NX0.uMhUg7vtX-JAvUjfjl2jzQvo9BBZZC87NgrbAhvlFlI","level":"info","message":"auth send jwt","requestID":"c45df3fe67063b58c0f497127a030ac5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c45df3fe67063b58c0f497127a030ac5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c45df3fe67063b58c0f497127a030ac5"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.815715,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"c45df3fe67063b58c0f497127a030ac5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432995,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5NX0.uMhUg7vtX-JAvUjfjl2jzQvo9BBZZC87NgrbAhvlFlI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c45df3fe67063b58c0f497127a030ac5","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"06aa552e1344fd1c27408e5ab727aba5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"06aa552e1344fd1c27408e5ab727aba5","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:16:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/41fbeec8-d928-4724-bc21-8b610a73ce91/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.003","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"06aa552e1344fd1c27408e5ab727aba5"} device-1 | {"level":"info","message":"OPTIONS /devices/41fbeec8-d928-4724-bc21-8b610a73ce91/websocket 200 1ms","method":"OPTIONS","requestID":"06aa552e1344fd1c27408e5ab727aba5","responseTime":1,"status":200,"url":"/devices/41fbeec8-d928-4724-bc21-8b610a73ce91/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5NX0.uMhUg7vtX-JAvUjfjl2jzQvo9BBZZC87NgrbAhvlFlI","level":"info","message":"auth send jwt","requestID":"90934bdebb9f81750e3b75da6bc36705"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"90934bdebb9f81750e3b75da6bc36705","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"90934bdebb9f81750e3b75da6bc36705"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682208,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"90934bdebb9f81750e3b75da6bc36705","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432995,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5NX0.uMhUg7vtX-JAvUjfjl2jzQvo9BBZZC87NgrbAhvlFlI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"90934bdebb9f81750e3b75da6bc36705","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c45df3fe67063b58c0f497127a030ac5"} device-1 | {"level":"info","message":"POST /devices/ec799a2c-471e-4433-a2e7-ac672f02ee95/websocket 200 33ms","method":"POST","requestID":"c45df3fe67063b58c0f497127a030ac5","responseTime":33,"status":200,"url":"/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95/websocket"} gateway-1 | {"time_local":"05/May/2025:08:16:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ec799a2c-471e-4433-a2e7-ac672f02ee95/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.038","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c45df3fe67063b58c0f497127a030ac5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"90934bdebb9f81750e3b75da6bc36705"} device-1 | {"level":"info","message":"POST /devices/41fbeec8-d928-4724-bc21-8b610a73ce91/websocket 200 21ms","method":"POST","requestID":"90934bdebb9f81750e3b75da6bc36705","responseTime":21,"status":200,"url":"/devices/41fbeec8-d928-4724-bc21-8b610a73ce91/websocket"} gateway-1 | {"time_local":"05/May/2025:08:16:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/41fbeec8-d928-4724-bc21-8b610a73ce91/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"90934bdebb9f81750e3b75da6bc36705"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5NX0.uMhUg7vtX-JAvUjfjl2jzQvo9BBZZC87NgrbAhvlFlI","level":"info","message":"auth send jwt","requestID":"2c45c8d483a2b7d4ce906a81abf6ccd4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2c45c8d483a2b7d4ce906a81abf6ccd4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2c45c8d483a2b7d4ce906a81abf6ccd4"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.637333,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2c45c8d483a2b7d4ce906a81abf6ccd4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432995,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5NX0.uMhUg7vtX-JAvUjfjl2jzQvo9BBZZC87NgrbAhvlFlI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2c45c8d483a2b7d4ce906a81abf6ccd4","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41fbeec8-d928-4724-bc21-8b610a73ce91","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41fbeec8-d928-4724-bc21-8b610a73ce91","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:33.442658861Z"}]},"request_id":"e21d5868-5001-496a-ae51-67eead19247f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432995.870434} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2c45c8d483a2b7d4ce906a81abf6ccd4","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2c45c8d483a2b7d4ce906a81abf6ccd4"} device-1 | {"level":"info","message":"GET /devices/41fbeec8-d928-4724-bc21-8b610a73ce91? 200 10ms","method":"GET","requestID":"2c45c8d483a2b7d4ce906a81abf6ccd4","responseTime":10,"status":200,"url":"/devices/41fbeec8-d928-4724-bc21-8b610a73ce91?"} gateway-1 | {"time_local":"05/May/2025:08:16:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/41fbeec8-d928-4724-bc21-8b610a73ce91? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c45c8d483a2b7d4ce906a81abf6ccd4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5NX0.uMhUg7vtX-JAvUjfjl2jzQvo9BBZZC87NgrbAhvlFlI","level":"info","message":"auth send jwt","requestID":"606fa8729e53f8f0f6fc6103aac7c026"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"606fa8729e53f8f0f6fc6103aac7c026","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"606fa8729e53f8f0f6fc6103aac7c026"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.127579,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"606fa8729e53f8f0f6fc6103aac7c026","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432995,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5NX0.uMhUg7vtX-JAvUjfjl2jzQvo9BBZZC87NgrbAhvlFlI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"606fa8729e53f8f0f6fc6103aac7c026","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec799a2c-471e-4433-a2e7-ac672f02ee95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec799a2c-471e-4433-a2e7-ac672f02ee95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:33.504150285Z"}]},"request_id":"7d8b3c5e-c819-4664-b1cc-fc7839052d2e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432995.886681} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"606fa8729e53f8f0f6fc6103aac7c026","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"606fa8729e53f8f0f6fc6103aac7c026"} gateway-1 | {"time_local":"05/May/2025:08:16:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ec799a2c-471e-4433-a2e7-ac672f02ee95? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"606fa8729e53f8f0f6fc6103aac7c026"} device-1 | {"level":"info","message":"GET /devices/ec799a2c-471e-4433-a2e7-ac672f02ee95? 200 12ms","method":"GET","requestID":"606fa8729e53f8f0f6fc6103aac7c026","responseTime":12,"status":200,"url":"/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5NX0.uMhUg7vtX-JAvUjfjl2jzQvo9BBZZC87NgrbAhvlFlI","level":"info","message":"auth send jwt","requestID":"fd607f13626ce74815b80df488f2922e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fd607f13626ce74815b80df488f2922e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"fd607f13626ce74815b80df488f2922e"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.020904,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"fd607f13626ce74815b80df488f2922e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432995,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5NX0.uMhUg7vtX-JAvUjfjl2jzQvo9BBZZC87NgrbAhvlFlI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fd607f13626ce74815b80df488f2922e","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb"},"level":"info","message":"Attempting to run experiment","requestID":"fd607f13626ce74815b80df488f2922e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb"},"level":"info","message":"Attempting to book experiment","requestID":"fd607f13626ce74815b80df488f2922e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb"},"level":"info","message":"Successfully booked experiment","requestID":"fd607f13626ce74815b80df488f2922e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"42fc3a50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"42fc6160-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.92069,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"42fc3a50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432995,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5NX0.uMhUg7vtX-JAvUjfjl2jzQvo9BBZZC87NgrbAhvlFlI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"42fc3a50-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.597295,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"42fc6160-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432995,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5NX0.uMhUg7vtX-JAvUjfjl2jzQvo9BBZZC87NgrbAhvlFlI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"42fc6160-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41fbeec8-d928-4724-bc21-8b610a73ce91","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41fbeec8-d928-4724-bc21-8b610a73ce91","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:33.442658861Z"}]},"request_id":"8520f23f-1645-4b56-953c-a6d4ae473b5f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432995.989258} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"42fc3a50-2989-11f0-8876-6f29f2a860cb","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec799a2c-471e-4433-a2e7-ac672f02ee95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec799a2c-471e-4433-a2e7-ac672f02ee95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:33.504150285Z"}]},"request_id":"a73cd673-ba63-4d83-9764-3ce99c03e3ba","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432995.9900959} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"42fc6160-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"42fc3a50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/41fbeec8-d928-4724-bc21-8b610a73ce91? 200 37ms","method":"GET","requestID":"42fc3a50-2989-11f0-8876-6f29f2a860cb","responseTime":37,"status":200,"url":"/devices/41fbeec8-d928-4724-bc21-8b610a73ce91?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"42fc6160-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/ec799a2c-471e-4433-a2e7-ac672f02ee95? 200 36ms","method":"GET","requestID":"42fc6160-2989-11f0-8876-6f29f2a860cb","responseTime":36,"status":200,"url":"/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb"},"level":"info","message":"Setting up experiment","requestID":"fd607f13626ce74815b80df488f2922e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"fd607f13626ce74815b80df488f2922e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb"},"level":"info","message":"Successfully locked booking for experiment","requestID":"fd607f13626ce74815b80df488f2922e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"fd607f13626ce74815b80df488f2922e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"fd607f13626ce74815b80df488f2922e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb"},"level":"info","message":"Attempting to update booking for experiment","requestID":"fd607f13626ce74815b80df488f2922e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb"},"level":"info","message":"Successfully updated booking for experiment","requestID":"fd607f13626ce74815b80df488f2922e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb"},"level":"info","message":"Successfully set up experiment","requestID":"fd607f13626ce74815b80df488f2922e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"430ae050-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"430b0760-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"430b2e70-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb"},"level":"info","message":"Successfully running experiment","requestID":"fd607f13626ce74815b80df488f2922e"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743535,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"430ae050-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432995,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5NX0.uMhUg7vtX-JAvUjfjl2jzQvo9BBZZC87NgrbAhvlFlI"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"430ae050-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.821876,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"430b0760-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432995,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5NX0.uMhUg7vtX-JAvUjfjl2jzQvo9BBZZC87NgrbAhvlFlI"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"430b0760-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41fbeec8-d928-4724-bc21-8b610a73ce91","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"edb46a65-437f-4c54-8ed4-a09324235e75","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.0849304} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.631376,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"430b2e70-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"430b2e70-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec799a2c-471e-4433-a2e7-ac672f02ee95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec799a2c-471e-4433-a2e7-ac672f02ee95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:33.504150285Z"}]},"request_id":"5fc60612-b8b2-4373-ac0f-170d4124fc0a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.087327} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41fbeec8-d928-4724-bc21-8b610a73ce91","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41fbeec8-d928-4724-bc21-8b610a73ce91","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:33.442658861Z"}]},"request_id":"ada1ecdc-c331-4b09-ba3d-a10267a750a4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.0880463} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"430b0760-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"430ae050-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"430b2e70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/41fbeec8-d928-4724-bc21-8b610a73ce91/signaling 200 40ms","method":"POST","requestID":"430b2e70-2989-11f0-8876-6f29f2a860cb","responseTime":40,"status":200,"url":"/devices/41fbeec8-d928-4724-bc21-8b610a73ce91/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"430ae050-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/41fbeec8-d928-4724-bc21-8b610a73ce91? 200 43ms","method":"GET","requestID":"430ae050-2989-11f0-8876-6f29f2a860cb","responseTime":43,"status":200,"url":"/devices/41fbeec8-d928-4724-bc21-8b610a73ce91?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"430b0760-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/ec799a2c-471e-4433-a2e7-ac672f02ee95? 200 42ms","method":"GET","requestID":"430b0760-2989-11f0-8876-6f29f2a860cb","responseTime":42,"status":200,"url":"/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"43119710-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0aeef8e5-bff4-45fa-a81d-f6e806284afb#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0aeef8e5-bff4-45fa-a81d-f6e806284afb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"802027ac-ac0c-4088-95a5-a484aced43c3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.097691} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"93aed731-2b05-4423-9cc4-28ebceaca306","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.0979187} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4311e530-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"fd607f13626ce74815b80df488f2922e","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec799a2c-471e-4433-a2e7-ac672f02ee95","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a11d9c7-d518-4bf3-8433-3aa1fdda216c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.1025095} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41fbeec8-d928-4724-bc21-8b610a73ce91","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"07708355-3b0d-47e4-8f41-b00034b73959","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.103076} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.656059,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"43119710-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"43119710-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.33005,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:36Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"fd607f13626ce74815b80df488f2922e"} gateway-1 | {"time_local":"05/May/2025:08:16:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.238","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fd607f13626ce74815b80df488f2922e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4311e530-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"level":"info","message":"POST /experiments? 201 234ms","method":"POST","requestID":"fd607f13626ce74815b80df488f2922e","responseTime":234,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"4311e530-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"43119710-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/ec799a2c-471e-4433-a2e7-ac672f02ee95/signaling 200 36ms","method":"POST","requestID":"43119710-2989-11f0-8876-6f29f2a860cb","responseTime":36,"status":200,"url":"/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4311e530-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/41fbeec8-d928-4724-bc21-8b610a73ce91/signaling 200 35ms","method":"POST","requestID":"4311e530-2989-11f0-8876-6f29f2a860cb","responseTime":35,"status":200,"url":"/devices/41fbeec8-d928-4724-bc21-8b610a73ce91/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Nn0.-fVvv0ND38Zu5qm3muO9q4TnmQgh9PKpFVdd7Ohv8S0","level":"info","message":"auth send jwt","requestID":"e338a282c23a2fc6add98403396b3032"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e338a282c23a2fc6add98403396b3032","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e338a282c23a2fc6add98403396b3032"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"43178a80-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.891255,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"e338a282c23a2fc6add98403396b3032","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432996,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Nn0.-fVvv0ND38Zu5qm3muO9q4TnmQgh9PKpFVdd7Ohv8S0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e338a282c23a2fc6add98403396b3032","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec799a2c-471e-4433-a2e7-ac672f02ee95","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b000bbe2-4b05-45a6-8012-1de2dbbe062e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.1404505} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.272165,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"43178a80-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"43178a80-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"43178a80-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41fbeec8-d928-4724-bc21-8b610a73ce91","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41fbeec8-d928-4724-bc21-8b610a73ce91","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:33.442658861Z"}]},"request_id":"b598f5b5-51a4-4407-a32b-d95580950688","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.1437445} device-1 | {"level":"info","message":"POST /devices/ec799a2c-471e-4433-a2e7-ac672f02ee95/signaling 200 8ms","method":"POST","requestID":"43178a80-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e338a282c23a2fc6add98403396b3032","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"fd607f13626ce74815b80df488f2922e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb"},"level":"info","message":"Building connection plan","requestID":"fd607f13626ce74815b80df488f2922e"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"a2b7527e-3cd0-41c6-95f3-3c31e70f77e8"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"3a7f6fc1-271d-4a52-8d8d-5ac924289876"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"68de1020-557f-48bd-88e7-5d8ee637e2f4"}]},"level":"info","message":"Built pairwise service configurations","requestID":"fd607f13626ce74815b80df488f2922e"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"fd607f13626ce74815b80df488f2922e"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"43193830-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e338a282c23a2fc6add98403396b3032"} gateway-1 | {"time_local":"05/May/2025:08:16:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/41fbeec8-d928-4724-bc21-8b610a73ce91? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e338a282c23a2fc6add98403396b3032"} device-1 | {"level":"info","message":"GET /devices/41fbeec8-d928-4724-bc21-8b610a73ce91? 200 13ms","method":"GET","requestID":"e338a282c23a2fc6add98403396b3032","responseTime":13,"status":200,"url":"/devices/41fbeec8-d928-4724-bc21-8b610a73ce91?"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.110286,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"43193830-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432995,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5NX0.uMhUg7vtX-JAvUjfjl2jzQvo9BBZZC87NgrbAhvlFlI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"43193830-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Nn0.-fVvv0ND38Zu5qm3muO9q4TnmQgh9PKpFVdd7Ohv8S0","level":"info","message":"auth send jwt","requestID":"1b6a74198423cc5e0eb0cc8939dfa0e4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1b6a74198423cc5e0eb0cc8939dfa0e4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1b6a74198423cc5e0eb0cc8939dfa0e4"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.688477,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"1b6a74198423cc5e0eb0cc8939dfa0e4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432996,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Nn0.-fVvv0ND38Zu5qm3muO9q4TnmQgh9PKpFVdd7Ohv8S0"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"1b6a74198423cc5e0eb0cc8939dfa0e4","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec799a2c-471e-4433-a2e7-ac672f02ee95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec799a2c-471e-4433-a2e7-ac672f02ee95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:33.504150285Z"}]},"request_id":"36a82e87-4cd6-466a-9b7f-a84fa113fd9e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.184743} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1b6a74198423cc5e0eb0cc8939dfa0e4","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"de4ae18b-883c-4113-bcd0-5851b6fe97f8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.1856964} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ed9d9c0-67e2-4aa6-b54e-cf55bbcb83c4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.1858692} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"43193830-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1b6a74198423cc5e0eb0cc8939dfa0e4"} device-1 | {"level":"info","message":"GET /devices/ec799a2c-471e-4433-a2e7-ac672f02ee95? 200 36ms","method":"GET","requestID":"1b6a74198423cc5e0eb0cc8939dfa0e4","responseTime":36,"status":200,"url":"/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95?"} gateway-1 | {"time_local":"05/May/2025:08:16:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ec799a2c-471e-4433-a2e7-ac672f02ee95? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1b6a74198423cc5e0eb0cc8939dfa0e4"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"43193830-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"43193830-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1'","requestID":"43193830-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1'","requestID":"43193830-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"43193830-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 84ms","method":"POST","requestID":"43193830-2989-11f0-8876-6f29f2a860cb","responseTime":84,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"43193830-2989-11f0-8876-6f29f2a860cb"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1","device":"41fbeec8-d928-4724-bc21-8b610a73ce91","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1","device":"ec799a2c-471e-4433-a2e7-ac672f02ee95","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"fd607f13626ce74815b80df488f2922e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"432df8b0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41fbeec8-d928-4724-bc21-8b610a73ce91","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f44b8928-d6dd-4675-9144-8e47396e2be1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.2887714} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.165097,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"432df8b0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"432df8b0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"ec799a2c-471e-4433-a2e7-ac672f02ee95","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"ec799a2c-471e-4433-a2e7-ac672f02ee95","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"41fbeec8-d928-4724-bc21-8b610a73ce91","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"41fbeec8-d928-4724-bc21-8b610a73ce91","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"432df8b0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/41fbeec8-d928-4724-bc21-8b610a73ce91/signaling 200 13ms","method":"POST","requestID":"432df8b0-2989-11f0-8876-6f29f2a860cb","responseTime":13,"status":200,"url":"/devices/41fbeec8-d928-4724-bc21-8b610a73ce91/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4333ec20-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec799a2c-471e-4433-a2e7-ac672f02ee95","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c0070cd-7745-4e09-9eb9-46825ed952cc","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.3272746} device-1 | {"content":{"sdp":"v=0\r\no=- 5574636976324659041 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:eWqC\r\na=ice-pwd:EHli0NDBb2CQvllfuIc1oDn6\r\na=ice-options:trickle\r\na=fingerprint:sha-256 74:CF:E0:A6:49:B4:CE:66:AD:6E:89:B1:ED:33:7A:04:10:12:AD:A5:BF:37:23:48:94:01:13:EC:95:79:1D:18\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"41fbeec8-d928-4724-bc21-8b610a73ce91","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.170206,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4333ec20-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"4333ec20-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4333ec20-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/ec799a2c-471e-4433-a2e7-ac672f02ee95/signaling 200 11ms","method":"POST","requestID":"4333ec20-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 1684852916630663205 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:rDA8\r\na=ice-pwd:BXVpO2OGidqVGgIgnCbGl13N\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D3:36:52:71:6F:50:7B:37:89:6C:EC:0F:8E:5B:4E:86:1D:96:5F:4E:CC:1F:DA:59:FF:8E:44:1D:DC:CB:BC:D5\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"ec799a2c-471e-4433-a2e7-ac672f02ee95","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:164933992 1 udp 2113937151 c52f2dc8-a73b-4325-9e3b-80befe426f89.local 44030 typ host generation 0 ufrag rDA8 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ec799a2c-471e-4433-a2e7-ac672f02ee95","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95'"} device-1 | {"content":{"candidate":"candidate:3548685574 1 udp 2113937151 08f06360-5e06-4038-a41f-36b7ff555877.local 34920 typ host generation 0 ufrag eWqC network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"41fbeec8-d928-4724-bc21-8b610a73ce91","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"41fbeec8-d928-4724-bc21-8b610a73ce91","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ec799a2c-471e-4433-a2e7-ac672f02ee95","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0b5093721a3befc34cc65e85a7793287","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0b5093721a3befc34cc65e85a7793287","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"41fbeec8-d928-4724-bc21-8b610a73ce91","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"ec799a2c-471e-4433-a2e7-ac672f02ee95","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1"}}},"level":"info","message":"received a callback","requestID":"0b5093721a3befc34cc65e85a7793287"} device-1 | {"device":"41fbeec8-d928-4724-bc21-8b610a73ce91","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"ec799a2c-471e-4433-a2e7-ac672f02ee95","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"0b5093721a3befc34cc65e85a7793287","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"0b5093721a3befc34cc65e85a7793287"} device-1 | {"device":"ec799a2c-471e-4433-a2e7-ac672f02ee95","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5d9a496327dc6a6a7771148d1bc15364","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"5d9a496327dc6a6a7771148d1bc15364","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1"}}},"level":"info","message":"received a callback","requestID":"5d9a496327dc6a6a7771148d1bc15364"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"434a8160-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9e803073-4b75-40d9-8a14-59261d36de4e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.474668} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.212013,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"434a8160-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"434a8160-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"434a8160-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1 200 8ms","method":"GET","requestID":"434a8160-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/peerconnections/2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 50ms","method":"POST","requestID":"5d9a496327dc6a6a7771148d1bc15364","responseTime":50,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Nn0.-fVvv0ND38Zu5qm3muO9q4TnmQgh9PKpFVdd7Ohv8S0","level":"info","message":"auth send jwt","requestID":"793c206584393ff2c6bffbcce043b999"} gateway-1 | {"time_local":"05/May/2025:08:16:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.077","http_referrer":"","http_user_agent":"node-fetch","requestID":"5d9a496327dc6a6a7771148d1bc15364"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"793c206584393ff2c6bffbcce043b999","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"43518640-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb","requestID":"793c206584393ff2c6bffbcce043b999"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.679927,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"793c206584393ff2c6bffbcce043b999","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432996,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Nn0.-fVvv0ND38Zu5qm3muO9q4TnmQgh9PKpFVdd7Ohv8S0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"793c206584393ff2c6bffbcce043b999","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec799a2c-471e-4433-a2e7-ac672f02ee95","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cdc8de79-6066-4869-8aef-69e20211eb70","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.5206} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.518612,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"43518640-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"43518640-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"43518640-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/ec799a2c-471e-4433-a2e7-ac672f02ee95/signaling 200 9ms","method":"POST","requestID":"43518640-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb","requestID":"793c206584393ff2c6bffbcce043b999"} gateway-1 | {"time_local":"05/May/2025:08:16:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"793c206584393ff2c6bffbcce043b999"} experiment-1 | {"level":"info","message":"GET /experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb 200 10ms","method":"GET","requestID":"793c206584393ff2c6bffbcce043b999","responseTime":10,"status":200,"url":"/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"43535b00-2989-11f0-8876-6f29f2a860cb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Nn0.-fVvv0ND38Zu5qm3muO9q4TnmQgh9PKpFVdd7Ohv8S0","level":"info","message":"auth send jwt","requestID":"d44ee08692fb3c447124775b0aaec5bb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d44ee08692fb3c447124775b0aaec5bb","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:36Z"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb","requestID":"d44ee08692fb3c447124775b0aaec5bb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41fbeec8-d928-4724-bc21-8b610a73ce91","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"94b1dda5-e19b-42e0-94a5-979af238b1dd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.532832} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.235785,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"43535b00-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"43535b00-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.557126,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"d44ee08692fb3c447124775b0aaec5bb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432996,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Nn0.-fVvv0ND38Zu5qm3muO9q4TnmQgh9PKpFVdd7Ohv8S0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d44ee08692fb3c447124775b0aaec5bb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"43535b00-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/41fbeec8-d928-4724-bc21-8b610a73ce91/signaling 200 33ms","method":"POST","requestID":"43535b00-2989-11f0-8876-6f29f2a860cb","responseTime":33,"status":200,"url":"/devices/41fbeec8-d928-4724-bc21-8b610a73ce91/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb"},"level":"info","message":"Attempting to finish experiment","requestID":"d44ee08692fb3c447124775b0aaec5bb"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"4358d940-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.150145,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4358d940-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432996,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Nn0.-fVvv0ND38Zu5qm3muO9q4TnmQgh9PKpFVdd7Ohv8S0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4358d940-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1","device":"ec799a2c-471e-4433-a2e7-ac672f02ee95","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1","device":"41fbeec8-d928-4724-bc21-8b610a73ce91","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"3e9d285e-a7fd-430c-bffc-3a69b5f914a0","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.5776725} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"86c5129a-a170-44cb-9e40-7d00e2d7d877","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.57793} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6f07eec584d1697f9ffd0d48141e789a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"4358d940-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6f07eec584d1697f9ffd0d48141e789a","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1"}}},"level":"info","message":"received a callback","requestID":"6f07eec584d1697f9ffd0d48141e789a"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e726a907ce30269172b84fc3cae74471","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e726a907ce30269172b84fc3cae74471","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1"}}},"level":"info","message":"received a callback","requestID":"e726a907ce30269172b84fc3cae74471"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"4358d940-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1 204 56ms","method":"DELETE","requestID":"4358d940-2989-11f0-8876-6f29f2a860cb","responseTime":56,"status":204,"url":"/peerconnections/2ba76c5c-cffb-4b9a-ab01-5e8de8b04fc1"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb"},"level":"info","message":"Successfully finished experiment","requestID":"d44ee08692fb3c447124775b0aaec5bb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"43670a10-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec799a2c-471e-4433-a2e7-ac672f02ee95","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fa5cba3a-774a-45af-ad70-30852fd300d8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.661637} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.530745,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"43670a10-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"43670a10-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"43670a10-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/ec799a2c-471e-4433-a2e7-ac672f02ee95/signaling 200 9ms","method":"POST","requestID":"43670a10-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4368b7c0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0aeef8e5-bff4-45fa-a81d-f6e806284afb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0aeef8e5-bff4-45fa-a81d-f6e806284afb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"6d5d23b3-efcb-4fea-80b6-78460e47c44f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.6699717} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"efc9981e-d294-4a7a-bb5b-fdd392287276","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.6702166} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"d44ee08692fb3c447124775b0aaec5bb","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41fbeec8-d928-4724-bc21-8b610a73ce91","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"83b3a9e9-430d-4427-ba9c-43f53e37861e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.6721895} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.181144,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4368b7c0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4368b7c0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4368b7c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/41fbeec8-d928-4724-bc21-8b610a73ce91/signaling 200 8ms","method":"POST","requestID":"4368b7c0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/41fbeec8-d928-4724-bc21-8b610a73ce91/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb","requestID":"d44ee08692fb3c447124775b0aaec5bb"} gateway-1 | {"time_local":"05/May/2025:08:16:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.240","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d44ee08692fb3c447124775b0aaec5bb"} experiment-1 | {"level":"info","message":"DELETE /experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb 204 237ms","method":"DELETE","requestID":"d44ee08692fb3c447124775b0aaec5bb","responseTime":237,"status":204,"url":"/experiments/0aeef8e5-bff4-45fa-a81d-f6e806284afb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 189ms","method":"POST","requestID":"6f07eec584d1697f9ffd0d48141e789a","responseTime":189,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch","requestID":"6f07eec584d1697f9ffd0d48141e789a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 189ms","method":"POST","requestID":"e726a907ce30269172b84fc3cae74471","responseTime":189,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.193","http_referrer":"","http_user_agent":"node-fetch","requestID":"e726a907ce30269172b84fc3cae74471"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Nn0.-fVvv0ND38Zu5qm3muO9q4TnmQgh9PKpFVdd7Ohv8S0","level":"info","message":"auth send jwt","requestID":"2adab7336c1a03239c5a33607488018f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2adab7336c1a03239c5a33607488018f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2adab7336c1a03239c5a33607488018f"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.795091,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:36Z"} gateway-1 | {"time_local":"05/May/2025:08:16:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2578","request_time":"0.956","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"083877e294d125d8744c9eca15baee75"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2adab7336c1a03239c5a33607488018f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432996,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Nn0.-fVvv0ND38Zu5qm3muO9q4TnmQgh9PKpFVdd7Ohv8S0"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"2adab7336c1a03239c5a33607488018f","responseTime":28,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"05/May/2025:08:16:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2579","request_time":"0.946","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"79d8eb1ae0b134fe69ab4354f4f3eb6a"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ec799a2c-471e-4433-a2e7-ac672f02ee95' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/41fbeec8-d928-4724-bc21-8b610a73ce91' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64016057-1859-484f-af11-2963779db798","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"10b9ec49-086b-45e7-8663-e1d9c4df11c3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.822642} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2adab7336c1a03239c5a33607488018f","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d021ec0b-34c8-43a2-92ea-94278c996dfe","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.826144} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2adab7336c1a03239c5a33607488018f","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64016057-1859-484f-af11-2963779db798","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"bfbe70c6-3fd4-4260-87e1-05599f8ae3ba","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.8565416} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3e2fb680-d6ed-4e5f-8841-27ff4299ff9e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.8565795} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"2adab7336c1a03239c5a33607488018f","responseTime":33,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64016057-1859-484f-af11-2963779db798","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64016057-1859-484f-af11-2963779db798","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:36.856524010Z"}]},"request_id":"2a883272-d419-4a10-a742-1fff47b69549","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.8607283} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2adab7336c1a03239c5a33607488018f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2adab7336c1a03239c5a33607488018f"} gateway-1 | {"time_local":"05/May/2025:08:16:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.093","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2adab7336c1a03239c5a33607488018f"} device-1 | {"level":"info","message":"POST /devices? 201 89ms","method":"POST","requestID":"2adab7336c1a03239c5a33607488018f","responseTime":89,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Nn0.-fVvv0ND38Zu5qm3muO9q4TnmQgh9PKpFVdd7Ohv8S0","level":"info","message":"auth send jwt","requestID":"f111a0c7a654c8982b8023bfd342084c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f111a0c7a654c8982b8023bfd342084c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f111a0c7a654c8982b8023bfd342084c"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.721941,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"f111a0c7a654c8982b8023bfd342084c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432996,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5Nn0.-fVvv0ND38Zu5qm3muO9q4TnmQgh9PKpFVdd7Ohv8S0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f111a0c7a654c8982b8023bfd342084c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b0353ba-de30-4b11-af44-d21d27bd9f31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"15cad5ae-e027-4365-be0a-84c24cc57630","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.903925} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f111a0c7a654c8982b8023bfd342084c","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab0fa0b8-7961-4b84-be68-b81089fbc0be","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.9075284} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"f111a0c7a654c8982b8023bfd342084c","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b0353ba-de30-4b11-af44-d21d27bd9f31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"9f7551cc-4190-4636-97bb-63f77f17837b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.9185686} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42419b98-9d67-4c43-bada-a55930f6f432","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.918677} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"f111a0c7a654c8982b8023bfd342084c","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b0353ba-de30-4b11-af44-d21d27bd9f31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b0353ba-de30-4b11-af44-d21d27bd9f31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:36.918549041Z"}]},"request_id":"c37733e2-902a-4bf4-ac46-17cac484e57a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432996.9468918} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f111a0c7a654c8982b8023bfd342084c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f111a0c7a654c8982b8023bfd342084c"} device-1 | {"level":"info","message":"POST /devices? 201 81ms","method":"POST","requestID":"f111a0c7a654c8982b8023bfd342084c","responseTime":81,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"05/May/2025:08:16:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.085","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f111a0c7a654c8982b8023bfd342084c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5N30.gVzjnik5nt3vFSTrpEAVT9lyN1bNqHjE2ILnbduAh8M","level":"info","message":"auth send jwt","requestID":"2017431b13b8e26dd6a2560f253b59b2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2017431b13b8e26dd6a2560f253b59b2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2017431b13b8e26dd6a2560f253b59b2"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:37Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.679177,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2017431b13b8e26dd6a2560f253b59b2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432997,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5N30.gVzjnik5nt3vFSTrpEAVT9lyN1bNqHjE2ILnbduAh8M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2017431b13b8e26dd6a2560f253b59b2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b0353ba-de30-4b11-af44-d21d27bd9f31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b0353ba-de30-4b11-af44-d21d27bd9f31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:36.918549041Z"}]},"request_id":"9f772edc-d3da-4771-9cd1-806e7c68bc65","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432997.8347378} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2017431b13b8e26dd6a2560f253b59b2","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e015530b-c286-4212-988c-959e001d1998","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432997.8626485} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"2017431b13b8e26dd6a2560f253b59b2","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b0353ba-de30-4b11-af44-d21d27bd9f31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b0353ba-de30-4b11-af44-d21d27bd9f31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:36.918549041Z"}]},"request_id":"68ce95df-c7bf-4349-8ea0-d24893d2a54e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432997.907015} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2017431b13b8e26dd6a2560f253b59b2","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2017431b13b8e26dd6a2560f253b59b2"} device-1 | {"level":"info","message":"PATCH /devices/9b0353ba-de30-4b11-af44-d21d27bd9f31 200 83ms","method":"PATCH","requestID":"2017431b13b8e26dd6a2560f253b59b2","responseTime":83,"status":200,"url":"/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31"} gateway-1 | {"time_local":"05/May/2025:08:16:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9b0353ba-de30-4b11-af44-d21d27bd9f31 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.088","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"2017431b13b8e26dd6a2560f253b59b2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5N30.gVzjnik5nt3vFSTrpEAVT9lyN1bNqHjE2ILnbduAh8M","level":"info","message":"auth send jwt","requestID":"50e782dc88644a7930aaec3bb7398b1f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"50e782dc88644a7930aaec3bb7398b1f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"50e782dc88644a7930aaec3bb7398b1f"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:37Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.796812,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"50e782dc88644a7930aaec3bb7398b1f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432997,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5N30.gVzjnik5nt3vFSTrpEAVT9lyN1bNqHjE2ILnbduAh8M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"50e782dc88644a7930aaec3bb7398b1f","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"50e782dc88644a7930aaec3bb7398b1f"} gateway-1 | {"time_local":"05/May/2025:08:16:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9b0353ba-de30-4b11-af44-d21d27bd9f31/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"50e782dc88644a7930aaec3bb7398b1f"} device-1 | {"level":"info","message":"POST /devices/9b0353ba-de30-4b11-af44-d21d27bd9f31/websocket 200 17ms","method":"POST","requestID":"50e782dc88644a7930aaec3bb7398b1f","responseTime":17,"status":200,"url":"/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4e8641157058ccb17b8c9631089d0ef5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4e8641157058ccb17b8c9631089d0ef5","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:16:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/64016057-1859-484f-af11-2963779db798/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4e8641157058ccb17b8c9631089d0ef5"} device-1 | {"level":"info","message":"OPTIONS /devices/64016057-1859-484f-af11-2963779db798/websocket 200 1ms","method":"OPTIONS","requestID":"4e8641157058ccb17b8c9631089d0ef5","responseTime":1,"status":200,"url":"/devices/64016057-1859-484f-af11-2963779db798/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5OX0.LETJQbnq_3lnONRrwLtfhECZUH-2rB8MKjGhtU0PNWY","level":"info","message":"auth send jwt","requestID":"9af794ae1fb2fb65b6077cd33230c09e"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9af794ae1fb2fb65b6077cd33230c09e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9af794ae1fb2fb65b6077cd33230c09e"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.203004,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/64016057-1859-484f-af11-2963779db798","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"9af794ae1fb2fb65b6077cd33230c09e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/64016057-1859-484f-af11-2963779db798","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432999,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5OX0.LETJQbnq_3lnONRrwLtfhECZUH-2rB8MKjGhtU0PNWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9af794ae1fb2fb65b6077cd33230c09e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9af794ae1fb2fb65b6077cd33230c09e"} gateway-1 | {"time_local":"05/May/2025:08:16:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/64016057-1859-484f-af11-2963779db798/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.036","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9af794ae1fb2fb65b6077cd33230c09e"} device-1 | {"level":"info","message":"POST /devices/64016057-1859-484f-af11-2963779db798/websocket 200 29ms","method":"POST","requestID":"9af794ae1fb2fb65b6077cd33230c09e","responseTime":29,"status":200,"url":"/devices/64016057-1859-484f-af11-2963779db798/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/64016057-1859-484f-af11-2963779db798' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5OX0.LETJQbnq_3lnONRrwLtfhECZUH-2rB8MKjGhtU0PNWY","level":"info","message":"auth send jwt","requestID":"047988deb20303537381a7e91af2517c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"047988deb20303537381a7e91af2517c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"047988deb20303537381a7e91af2517c"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.652427,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/64016057-1859-484f-af11-2963779db798","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"047988deb20303537381a7e91af2517c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/64016057-1859-484f-af11-2963779db798","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432999,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5OX0.LETJQbnq_3lnONRrwLtfhECZUH-2rB8MKjGhtU0PNWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"047988deb20303537381a7e91af2517c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64016057-1859-484f-af11-2963779db798","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64016057-1859-484f-af11-2963779db798","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:36.856524010Z"}]},"request_id":"e2973679-1fd3-4a7e-88a8-73411231cd15","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432999.2633872} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"047988deb20303537381a7e91af2517c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"047988deb20303537381a7e91af2517c"} device-1 | {"level":"info","message":"GET /devices/64016057-1859-484f-af11-2963779db798? 200 12ms","method":"GET","requestID":"047988deb20303537381a7e91af2517c","responseTime":12,"status":200,"url":"/devices/64016057-1859-484f-af11-2963779db798?"} gateway-1 | {"time_local":"05/May/2025:08:16:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/64016057-1859-484f-af11-2963779db798? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"047988deb20303537381a7e91af2517c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5OX0.LETJQbnq_3lnONRrwLtfhECZUH-2rB8MKjGhtU0PNWY","level":"info","message":"auth send jwt","requestID":"13372e28aa15783a560a94937cd70ee2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"13372e28aa15783a560a94937cd70ee2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"13372e28aa15783a560a94937cd70ee2"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.64129,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"13372e28aa15783a560a94937cd70ee2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432999,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5OX0.LETJQbnq_3lnONRrwLtfhECZUH-2rB8MKjGhtU0PNWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"13372e28aa15783a560a94937cd70ee2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b0353ba-de30-4b11-af44-d21d27bd9f31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b0353ba-de30-4b11-af44-d21d27bd9f31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:36.918549041Z"}]},"request_id":"e26f0eac-3566-4a34-b103-3fe83d52af79","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432999.280421} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"13372e28aa15783a560a94937cd70ee2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"13372e28aa15783a560a94937cd70ee2"} device-1 | {"level":"info","message":"GET /devices/9b0353ba-de30-4b11-af44-d21d27bd9f31? 200 10ms","method":"GET","requestID":"13372e28aa15783a560a94937cd70ee2","responseTime":10,"status":200,"url":"/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31?"} gateway-1 | {"time_local":"05/May/2025:08:16:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9b0353ba-de30-4b11-af44-d21d27bd9f31? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"13372e28aa15783a560a94937cd70ee2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5OX0.LETJQbnq_3lnONRrwLtfhECZUH-2rB8MKjGhtU0PNWY","level":"info","message":"auth send jwt","requestID":"548f83f6e1d51326f5aeed8fa0c02c19"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"548f83f6e1d51326f5aeed8fa0c02c19","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"548f83f6e1d51326f5aeed8fa0c02c19"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.631747,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"548f83f6e1d51326f5aeed8fa0c02c19","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432999,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5OX0.LETJQbnq_3lnONRrwLtfhECZUH-2rB8MKjGhtU0PNWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"548f83f6e1d51326f5aeed8fa0c02c19","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e898333-ad20-4f61-bfce-773d568c13d0"},"level":"info","message":"Attempting to run experiment","requestID":"548f83f6e1d51326f5aeed8fa0c02c19"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e898333-ad20-4f61-bfce-773d568c13d0"},"level":"info","message":"Attempting to book experiment","requestID":"548f83f6e1d51326f5aeed8fa0c02c19"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e898333-ad20-4f61-bfce-773d568c13d0"},"level":"info","message":"Successfully booked experiment","requestID":"548f83f6e1d51326f5aeed8fa0c02c19"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"45021c70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"45024380-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.859505,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/64016057-1859-484f-af11-2963779db798","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"45021c70-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/64016057-1859-484f-af11-2963779db798","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432999,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5OX0.LETJQbnq_3lnONRrwLtfhECZUH-2rB8MKjGhtU0PNWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"45021c70-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.931431,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"45024380-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432999,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5OX0.LETJQbnq_3lnONRrwLtfhECZUH-2rB8MKjGhtU0PNWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"45024380-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64016057-1859-484f-af11-2963779db798","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64016057-1859-484f-af11-2963779db798","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:36.856524010Z"}]},"request_id":"163dbc7a-75f0-4390-b785-35fca66c2084","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432999.3601077} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"45021c70-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b0353ba-de30-4b11-af44-d21d27bd9f31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b0353ba-de30-4b11-af44-d21d27bd9f31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:36.918549041Z"}]},"request_id":"aa50ce45-645a-4450-8869-c1b267db8d69","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432999.3613176} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"45024380-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"45021c70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/64016057-1859-484f-af11-2963779db798? 200 14ms","method":"GET","requestID":"45021c70-2989-11f0-8876-6f29f2a860cb","responseTime":14,"status":200,"url":"/devices/64016057-1859-484f-af11-2963779db798?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"45024380-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/9b0353ba-de30-4b11-af44-d21d27bd9f31? 200 14ms","method":"GET","requestID":"45024380-2989-11f0-8876-6f29f2a860cb","responseTime":14,"status":200,"url":"/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e898333-ad20-4f61-bfce-773d568c13d0"},"level":"info","message":"Setting up experiment","requestID":"548f83f6e1d51326f5aeed8fa0c02c19"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e898333-ad20-4f61-bfce-773d568c13d0"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"548f83f6e1d51326f5aeed8fa0c02c19"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e898333-ad20-4f61-bfce-773d568c13d0"},"level":"info","message":"Successfully locked booking for experiment","requestID":"548f83f6e1d51326f5aeed8fa0c02c19"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e898333-ad20-4f61-bfce-773d568c13d0"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"548f83f6e1d51326f5aeed8fa0c02c19"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e898333-ad20-4f61-bfce-773d568c13d0"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"548f83f6e1d51326f5aeed8fa0c02c19"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e898333-ad20-4f61-bfce-773d568c13d0"},"level":"info","message":"Attempting to update booking for experiment","requestID":"548f83f6e1d51326f5aeed8fa0c02c19"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e898333-ad20-4f61-bfce-773d568c13d0"},"level":"info","message":"Successfully updated booking for experiment","requestID":"548f83f6e1d51326f5aeed8fa0c02c19"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e898333-ad20-4f61-bfce-773d568c13d0"},"level":"info","message":"Successfully set up experiment","requestID":"548f83f6e1d51326f5aeed8fa0c02c19"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4511acd0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4511faf0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"45122200-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e898333-ad20-4f61-bfce-773d568c13d0"},"level":"info","message":"Successfully running experiment","requestID":"548f83f6e1d51326f5aeed8fa0c02c19"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.117663,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/64016057-1859-484f-af11-2963779db798","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4511acd0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/64016057-1859-484f-af11-2963779db798","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432999,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5OX0.LETJQbnq_3lnONRrwLtfhECZUH-2rB8MKjGhtU0PNWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4511acd0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.788259,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4511faf0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432999,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5OX0.LETJQbnq_3lnONRrwLtfhECZUH-2rB8MKjGhtU0PNWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4511faf0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64016057-1859-484f-af11-2963779db798","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b35381cf-b7d5-424e-bde7-46da39114450","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432999.4619577} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.477157,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/64016057-1859-484f-af11-2963779db798","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"45122200-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/64016057-1859-484f-af11-2963779db798","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"45122200-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64016057-1859-484f-af11-2963779db798","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64016057-1859-484f-af11-2963779db798","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:36.856524010Z"}]},"request_id":"432216fc-af4b-459f-a3be-c51222d5567e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432999.464199} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4511acd0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b0353ba-de30-4b11-af44-d21d27bd9f31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b0353ba-de30-4b11-af44-d21d27bd9f31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:36.918549041Z"}]},"request_id":"6c9c3488-04af-470a-9106-ed19f39787c5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432999.4662821} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4511faf0-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"45122200-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/64016057-1859-484f-af11-2963779db798/signaling 200 11ms","method":"POST","requestID":"45122200-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/64016057-1859-484f-af11-2963779db798/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"45141dd0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4511acd0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/64016057-1859-484f-af11-2963779db798? 200 18ms","method":"GET","requestID":"4511acd0-2989-11f0-8876-6f29f2a860cb","responseTime":18,"status":200,"url":"/devices/64016057-1859-484f-af11-2963779db798?"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:39Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4511faf0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/9b0353ba-de30-4b11-af44-d21d27bd9f31? 200 17ms","method":"GET","requestID":"4511faf0-2989-11f0-8876-6f29f2a860cb","responseTime":17,"status":200,"url":"/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31?"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b0353ba-de30-4b11-af44-d21d27bd9f31","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f27a2a5-8dbc-46c2-ac1f-20e378b1da97","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432999.4736805} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4514e120-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.615147,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"45141dd0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"45141dd0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"45141dd0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8e898333-ad20-4f61-bfce-773d568c13d0#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8e898333-ad20-4f61-bfce-773d568c13d0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"965c80f5-6878-4ba1-8577-8295a2440a6f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432999.477273} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7af94919-e558-4b8c-b00d-703c2ae00198","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432999.477586} device-1 | {"level":"info","message":"POST /devices/9b0353ba-de30-4b11-af44-d21d27bd9f31/signaling 200 9ms","method":"POST","requestID":"45141dd0-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31/signaling"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"548f83f6e1d51326f5aeed8fa0c02c19","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64016057-1859-484f-af11-2963779db798","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"edf0e6cc-91a5-4c5c-b3bd-eeb451f6ed87","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432999.4797688} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.733674,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/64016057-1859-484f-af11-2963779db798","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4514e120-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/64016057-1859-484f-af11-2963779db798","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4514e120-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4514e120-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/64016057-1859-484f-af11-2963779db798/signaling 200 10ms","method":"POST","requestID":"4514e120-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/64016057-1859-484f-af11-2963779db798/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/8e898333-ad20-4f61-bfce-773d568c13d0","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"548f83f6e1d51326f5aeed8fa0c02c19"} gateway-1 | {"time_local":"05/May/2025:08:16:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.201","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"548f83f6e1d51326f5aeed8fa0c02c19"} experiment-1 | {"level":"info","message":"POST /experiments? 201 197ms","method":"POST","requestID":"548f83f6e1d51326f5aeed8fa0c02c19","responseTime":197,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"45170400-2989-11f0-8876-6f29f2a860cb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5OX0.LETJQbnq_3lnONRrwLtfhECZUH-2rB8MKjGhtU0PNWY","level":"info","message":"auth send jwt","requestID":"0fab4414158088100e56b1e9201ef5c4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0fab4414158088100e56b1e9201ef5c4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0fab4414158088100e56b1e9201ef5c4"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b0353ba-de30-4b11-af44-d21d27bd9f31","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"65a850b0-2f66-420f-9a33-b7fe3315627e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432999.4920855} authorization-1 | {"client_addr":"127.0.0.1:51582","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713506,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/64016057-1859-484f-af11-2963779db798","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"0fab4414158088100e56b1e9201ef5c4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/64016057-1859-484f-af11-2963779db798","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432999,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5OX0.LETJQbnq_3lnONRrwLtfhECZUH-2rB8MKjGhtU0PNWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0fab4414158088100e56b1e9201ef5c4","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.395926,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"45170400-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"45170400-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64016057-1859-484f-af11-2963779db798","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64016057-1859-484f-af11-2963779db798","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:36.856524010Z"}]},"request_id":"302df0d2-403a-4e20-b1ab-2ac4c3a259ac","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432999.4960501} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"45170400-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0fab4414158088100e56b1e9201ef5c4","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/9b0353ba-de30-4b11-af44-d21d27bd9f31/signaling 200 9ms","method":"POST","requestID":"45170400-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e898333-ad20-4f61-bfce-773d568c13d0"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"548f83f6e1d51326f5aeed8fa0c02c19"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e898333-ad20-4f61-bfce-773d568c13d0"},"level":"info","message":"Building connection plan","requestID":"548f83f6e1d51326f5aeed8fa0c02c19"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"bdadb1c9-eff8-40f3-9a45-b1fb630ed6b6"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"d520f697-5224-407d-9949-4a333c23d60f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d74eb653-5759-4486-9bbd-ad0e3a1f4537"}]},"level":"info","message":"Built pairwise service configurations","requestID":"548f83f6e1d51326f5aeed8fa0c02c19"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/64016057-1859-484f-af11-2963779db798"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"548f83f6e1d51326f5aeed8fa0c02c19"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"4518b1b0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0fab4414158088100e56b1e9201ef5c4"} gateway-1 | {"time_local":"05/May/2025:08:16:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/64016057-1859-484f-af11-2963779db798? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0fab4414158088100e56b1e9201ef5c4"} device-1 | {"level":"info","message":"GET /devices/64016057-1859-484f-af11-2963779db798? 200 11ms","method":"GET","requestID":"0fab4414158088100e56b1e9201ef5c4","responseTime":11,"status":200,"url":"/devices/64016057-1859-484f-af11-2963779db798?"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.644994,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4518b1b0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432999,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5OX0.LETJQbnq_3lnONRrwLtfhECZUH-2rB8MKjGhtU0PNWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4518b1b0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5OX0.LETJQbnq_3lnONRrwLtfhECZUH-2rB8MKjGhtU0PNWY","level":"info","message":"auth send jwt","requestID":"48a3041069d1385c6f9e809f767e80e1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"48a3041069d1385c6f9e809f767e80e1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"48a3041069d1385c6f9e809f767e80e1"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.719264,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"48a3041069d1385c6f9e809f767e80e1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746432999,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMjk5OX0.LETJQbnq_3lnONRrwLtfhECZUH-2rB8MKjGhtU0PNWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"48a3041069d1385c6f9e809f767e80e1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b0353ba-de30-4b11-af44-d21d27bd9f31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b0353ba-de30-4b11-af44-d21d27bd9f31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:36.918549041Z"}]},"request_id":"7ab22c9a-7267-4850-8d45-7c78927189ef","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432999.511839} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"48a3041069d1385c6f9e809f767e80e1","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"4a62b214-e388-4625-9dea-0071559dcbd5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432999.5129285} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"48a3041069d1385c6f9e809f767e80e1"} device-1 | {"level":"info","message":"GET /devices/9b0353ba-de30-4b11-af44-d21d27bd9f31? 200 11ms","method":"GET","requestID":"48a3041069d1385c6f9e809f767e80e1","responseTime":11,"status":200,"url":"/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31?"} gateway-1 | {"time_local":"05/May/2025:08:16:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9b0353ba-de30-4b11-af44-d21d27bd9f31? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"48a3041069d1385c6f9e809f767e80e1"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8368f344-fed0-46bb-92c0-e20909f3b8f6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432999.5211754} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"4518b1b0-2989-11f0-8876-6f29f2a860cb","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"4518b1b0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"4518b1b0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/e75719f5-8c82-4288-9aba-252a1a204a9c'","requestID":"4518b1b0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e75719f5-8c82-4288-9aba-252a1a204a9c'","requestID":"4518b1b0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"4518b1b0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 37ms","method":"POST","requestID":"4518b1b0-2989-11f0-8876-6f29f2a860cb","responseTime":37,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"4518b1b0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/e75719f5-8c82-4288-9aba-252a1a204a9c","device":"64016057-1859-484f-af11-2963779db798","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e898333-ad20-4f61-bfce-773d568c13d0"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"548f83f6e1d51326f5aeed8fa0c02c19"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"45261f30-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64016057-1859-484f-af11-2963779db798","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80dcf152-8fd9-40e0-b9d4-0b1dd58131ac","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432999.5915182} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.409163,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/64016057-1859-484f-af11-2963779db798","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"45261f30-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/64016057-1859-484f-af11-2963779db798","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"45261f30-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"45261f30-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/64016057-1859-484f-af11-2963779db798/signaling 200 8ms","method":"POST","requestID":"45261f30-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/64016057-1859-484f-af11-2963779db798/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4527a5d0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:39Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b0353ba-de30-4b11-af44-d21d27bd9f31","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"737c0dd8-b643-4a20-8dcf-9d847b13ccfe","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746432999.6016438} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.493117,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:39Z"} device-1 | {"device":"64016057-1859-484f-af11-2963779db798","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"64016057-1859-484f-af11-2963779db798","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4527a5d0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4527a5d0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4527a5d0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/9b0353ba-de30-4b11-af44-d21d27bd9f31/signaling 200 9ms","method":"POST","requestID":"4527a5d0-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31/signaling"} device-1 | {"device":"9b0353ba-de30-4b11-af44-d21d27bd9f31","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"e75719f5-8c82-4288-9aba-252a1a204a9c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 3535891760955791520 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:WkNO\r\na=ice-pwd:PGCZAhCiFeWLBvbLtbapa6Xj\r\na=ice-options:trickle\r\na=fingerprint:sha-256 03:39:95:B0:85:B5:55:4C:F1:80:2D:3C:D3:79:73:9C:4B:7A:FA:D6:3A:27:5D:74:42:77:20:F0:91:13:ED:98\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"64016057-1859-484f-af11-2963779db798","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1654922332 1 udp 2113937151 1fd0e228-eb7e-429d-95a0-52eeb7024806.local 39741 typ host generation 0 ufrag WkNO network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"64016057-1859-484f-af11-2963779db798","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"64016057-1859-484f-af11-2963779db798","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/64016057-1859-484f-af11-2963779db798'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e75719f5-8c82-4288-9aba-252a1a204a9c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e75719f5-8c82-4288-9aba-252a1a204a9c","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4b57c02c6a1b54e69a329aea0ab34c78","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"device":"64016057-1859-484f-af11-2963779db798","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4b57c02c6a1b54e69a329aea0ab34c78","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/64016057-1859-484f-af11-2963779db798"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e75719f5-8c82-4288-9aba-252a1a204a9c"}}},"level":"info","message":"received a callback","requestID":"4b57c02c6a1b54e69a329aea0ab34c78"} device-1 | {"device":"9b0353ba-de30-4b11-af44-d21d27bd9f31","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9b0353ba-de30-4b11-af44-d21d27bd9f31","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9b0353ba-de30-4b11-af44-d21d27bd9f31","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"4b57c02c6a1b54e69a329aea0ab34c78","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"4b57c02c6a1b54e69a329aea0ab34c78"} device-1 | {"device":"9b0353ba-de30-4b11-af44-d21d27bd9f31","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"64016057-1859-484f-af11-2963779db798","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"9b0353ba-de30-4b11-af44-d21d27bd9f31","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"e75719f5-8c82-4288-9aba-252a1a204a9c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"64016057-1859-484f-af11-2963779db798","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"e75719f5-8c82-4288-9aba-252a1a204a9c","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e75719f5-8c82-4288-9aba-252a1a204a9c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e75719f5-8c82-4288-9aba-252a1a204a9c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ee7144f41861f9b9733eabc4727e03cb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ee7144f41861f9b9733eabc4727e03cb","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/64016057-1859-484f-af11-2963779db798"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e75719f5-8c82-4288-9aba-252a1a204a9c"}}},"level":"info","message":"received a callback","requestID":"ee7144f41861f9b9733eabc4727e03cb"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"4668b150-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:41Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe75719f5-8c82-4288-9aba-252a1a204a9c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"31ec0789-efd3-4984-a7e2-cd9e902d4e86","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433001.7049274} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.324651,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e75719f5-8c82-4288-9aba-252a1a204a9c","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4668b150-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e75719f5-8c82-4288-9aba-252a1a204a9c","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4668b150-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"4668b150-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/e75719f5-8c82-4288-9aba-252a1a204a9c 200 10ms","method":"GET","requestID":"4668b150-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/peerconnections/e75719f5-8c82-4288-9aba-252a1a204a9c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 53ms","method":"POST","requestID":"ee7144f41861f9b9733eabc4727e03cb","responseTime":53,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.076","http_referrer":"","http_user_agent":"node-fetch","requestID":"ee7144f41861f9b9733eabc4727e03cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"46702b60-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:41Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64016057-1859-484f-af11-2963779db798","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7bdb749a-c84c-49d1-acd9-18dbe65a71aa","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433001.7546453} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.189735,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/64016057-1859-484f-af11-2963779db798","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"46702b60-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/64016057-1859-484f-af11-2963779db798","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"46702b60-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"46702b60-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/64016057-1859-484f-af11-2963779db798/signaling 200 8ms","method":"POST","requestID":"46702b60-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/64016057-1859-484f-af11-2963779db798/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4671b200-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:41Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b0353ba-de30-4b11-af44-d21d27bd9f31","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f133a231-953e-4b79-b95c-58db21caf222","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433001.7643309} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwMX0.IhKrJIDQX_EKuTISeH_BYKYZuAZ-TYYDzn2UAppcUfs","level":"info","message":"auth send jwt","requestID":"4326921a9c766b475e7cd001f916515e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4326921a9c766b475e7cd001f916515e","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.556861,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4671b200-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8e898333-ad20-4f61-bfce-773d568c13d0","requestID":"4326921a9c766b475e7cd001f916515e"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4671b200-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:41Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.652911,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:41Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4671b200-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/9b0353ba-de30-4b11-af44-d21d27bd9f31/signaling 200 33ms","method":"POST","requestID":"4671b200-2989-11f0-8876-6f29f2a860cb","responseTime":33,"status":200,"url":"/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8e898333-ad20-4f61-bfce-773d568c13d0","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4326921a9c766b475e7cd001f916515e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/8e898333-ad20-4f61-bfce-773d568c13d0","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433001,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwMX0.IhKrJIDQX_EKuTISeH_BYKYZuAZ-TYYDzn2UAppcUfs"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"4326921a9c766b475e7cd001f916515e","responseTime":28,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8e898333-ad20-4f61-bfce-773d568c13d0","requestID":"4326921a9c766b475e7cd001f916515e"} gateway-1 | {"time_local":"05/May/2025:08:16:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8e898333-ad20-4f61-bfce-773d568c13d0 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4326921a9c766b475e7cd001f916515e"} experiment-1 | {"level":"info","message":"GET /experiments/8e898333-ad20-4f61-bfce-773d568c13d0 200 33ms","method":"GET","requestID":"4326921a9c766b475e7cd001f916515e","responseTime":33,"status":200,"url":"/experiments/8e898333-ad20-4f61-bfce-773d568c13d0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwMX0.IhKrJIDQX_EKuTISeH_BYKYZuAZ-TYYDzn2UAppcUfs","level":"info","message":"auth send jwt","requestID":"4e6ff40d864201bd003ee8603772e5eb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4e6ff40d864201bd003ee8603772e5eb","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8e898333-ad20-4f61-bfce-773d568c13d0","requestID":"4e6ff40d864201bd003ee8603772e5eb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:41Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.715159,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8e898333-ad20-4f61-bfce-773d568c13d0","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4e6ff40d864201bd003ee8603772e5eb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/8e898333-ad20-4f61-bfce-773d568c13d0","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433001,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwMX0.IhKrJIDQX_EKuTISeH_BYKYZuAZ-TYYDzn2UAppcUfs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4e6ff40d864201bd003ee8603772e5eb","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e898333-ad20-4f61-bfce-773d568c13d0"},"level":"info","message":"Attempting to finish experiment","requestID":"4e6ff40d864201bd003ee8603772e5eb"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"46797a30-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:41Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.670335,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e75719f5-8c82-4288-9aba-252a1a204a9c","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"46797a30-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/e75719f5-8c82-4288-9aba-252a1a204a9c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433001,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwMX0.IhKrJIDQX_EKuTISeH_BYKYZuAZ-TYYDzn2UAppcUfs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"46797a30-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/e75719f5-8c82-4288-9aba-252a1a204a9c","device":"64016057-1859-484f-af11-2963779db798","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"9b0353ba-de30-4b11-af44-d21d27bd9f31","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9b0353ba-de30-4b11-af44-d21d27bd9f31","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9b0353ba-de30-4b11-af44-d21d27bd9f31","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e75719f5-8c82-4288-9aba-252a1a204a9c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e75719f5-8c82-4288-9aba-252a1a204a9c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e75719f5-8c82-4288-9aba-252a1a204a9c","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe75719f5-8c82-4288-9aba-252a1a204a9c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe75719f5-8c82-4288-9aba-252a1a204a9c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"1d09f5da-0031-48f1-af47-c9724977cba6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433001.8483367} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e3482a82-b958-4187-bac3-58e87efb4434","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433001.8487282} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"46797a30-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ff3992e298fed46dd281ae175ef84c98","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ff3992e298fed46dd281ae175ef84c98","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/64016057-1859-484f-af11-2963779db798"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e75719f5-8c82-4288-9aba-252a1a204a9c"}}},"level":"info","message":"received a callback","requestID":"ff3992e298fed46dd281ae175ef84c98"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9cafad875b620da7d98622ee5d22a39e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"46797a30-2989-11f0-8876-6f29f2a860cb"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9cafad875b620da7d98622ee5d22a39e","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"DELETE /peerconnections/e75719f5-8c82-4288-9aba-252a1a204a9c 204 44ms","method":"DELETE","requestID":"46797a30-2989-11f0-8876-6f29f2a860cb","responseTime":44,"status":204,"url":"/peerconnections/e75719f5-8c82-4288-9aba-252a1a204a9c"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/64016057-1859-484f-af11-2963779db798"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e75719f5-8c82-4288-9aba-252a1a204a9c"}}},"level":"info","message":"received a callback","requestID":"9cafad875b620da7d98622ee5d22a39e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e898333-ad20-4f61-bfce-773d568c13d0"},"level":"info","message":"Successfully finished experiment","requestID":"4e6ff40d864201bd003ee8603772e5eb"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"46867280-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:41Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64016057-1859-484f-af11-2963779db798","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c2a685a-202e-40d3-83c9-898beec15ea6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433001.8997784} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.107211,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/64016057-1859-484f-af11-2963779db798","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"46867280-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/64016057-1859-484f-af11-2963779db798","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"46867280-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"46867280-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/64016057-1859-484f-af11-2963779db798/signaling 200 7ms","method":"POST","requestID":"46867280-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/devices/64016057-1859-484f-af11-2963779db798/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4687d210-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8e898333-ad20-4f61-bfce-773d568c13d0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8e898333-ad20-4f61-bfce-773d568c13d0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"2768bc7b-4add-4fb8-9000-3a7c0b0fda79","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433001.907858} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6c2388f4-be79-4734-81f9-ef3056c8d06d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433001.9080436} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:41Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"4e6ff40d864201bd003ee8603772e5eb","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b0353ba-de30-4b11-af44-d21d27bd9f31","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"43d0e3be-67b0-4f41-bd54-05f775c911df","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433001.9100487} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.84726,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4687d210-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4687d210-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4687d210-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/9b0353ba-de30-4b11-af44-d21d27bd9f31/signaling 200 10ms","method":"POST","requestID":"4687d210-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8e898333-ad20-4f61-bfce-773d568c13d0","requestID":"4e6ff40d864201bd003ee8603772e5eb"} gateway-1 | {"time_local":"05/May/2025:08:16:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8e898333-ad20-4f61-bfce-773d568c13d0 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.209","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e6ff40d864201bd003ee8603772e5eb"} experiment-1 | {"level":"info","message":"DELETE /experiments/8e898333-ad20-4f61-bfce-773d568c13d0 204 207ms","method":"DELETE","requestID":"4e6ff40d864201bd003ee8603772e5eb","responseTime":207,"status":204,"url":"/experiments/8e898333-ad20-4f61-bfce-773d568c13d0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 158ms","method":"POST","requestID":"ff3992e298fed46dd281ae175ef84c98","responseTime":158,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.162","http_referrer":"","http_user_agent":"node-fetch","requestID":"ff3992e298fed46dd281ae175ef84c98"} gateway-1 | {"time_local":"05/May/2025:08:16:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.158","http_referrer":"","http_user_agent":"node-fetch","requestID":"9cafad875b620da7d98622ee5d22a39e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 156ms","method":"POST","requestID":"9cafad875b620da7d98622ee5d22a39e","responseTime":156,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2529","request_time":"4.100","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"ca420cc7b32048352ae228d6519d8708"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9b0353ba-de30-4b11-af44-d21d27bd9f31' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwMn0.Hw3XhTFgXYRL7emimC_haEo67rbMqBewywrypcGcx-s","level":"info","message":"auth send jwt","requestID":"ffdba91cbaf981b36bd7fea065c31c69"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ffdba91cbaf981b36bd7fea065c31c69","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:16:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2789","request_time":"2.798","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d7b3082e1e22d59d16f098b8fe1bcfd4"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:42Z"} device-1 | {"level":"info","message":"postDevices called","requestID":"ffdba91cbaf981b36bd7fea065c31c69"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.790796,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:42Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/64016057-1859-484f-af11-2963779db798' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"ffdba91cbaf981b36bd7fea065c31c69","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433002,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwMn0.Hw3XhTFgXYRL7emimC_haEo67rbMqBewywrypcGcx-s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ffdba91cbaf981b36bd7fea065c31c69","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94d294a1-0bcb-4ade-92b4-c976fc83524e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"45f34b36-7641-43b5-b259-fb18768aad03","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433002.0814226} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"ffdba91cbaf981b36bd7fea065c31c69","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eb927989-a16a-47e8-9e85-7c68673b5ce3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433002.085865} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ffdba91cbaf981b36bd7fea065c31c69","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94d294a1-0bcb-4ade-92b4-c976fc83524e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"35d3b307-51b1-4788-b4f5-8f2636f9340f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433002.1013665} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"984c795d-88d7-4a27-b3ba-5dd25a75e078","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433002.1015306} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"ffdba91cbaf981b36bd7fea065c31c69","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94d294a1-0bcb-4ade-92b4-c976fc83524e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94d294a1-0bcb-4ade-92b4-c976fc83524e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:42.101341897Z"}]},"request_id":"ef0cf641-c4c4-4a0e-b5b4-2950252d5969","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433002.1297948} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"ffdba91cbaf981b36bd7fea065c31c69","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ffdba91cbaf981b36bd7fea065c31c69"} gateway-1 | {"time_local":"05/May/2025:08:16:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ffdba91cbaf981b36bd7fea065c31c69"} device-1 | {"level":"info","message":"POST /devices? 201 92ms","method":"POST","requestID":"ffdba91cbaf981b36bd7fea065c31c69","responseTime":92,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwMn0.Hw3XhTFgXYRL7emimC_haEo67rbMqBewywrypcGcx-s","level":"info","message":"auth send jwt","requestID":"b1bf9999a03ecea8b387775f4432f6e7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b1bf9999a03ecea8b387775f4432f6e7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b1bf9999a03ecea8b387775f4432f6e7"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:42Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.824234,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"b1bf9999a03ecea8b387775f4432f6e7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433002,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwMn0.Hw3XhTFgXYRL7emimC_haEo67rbMqBewywrypcGcx-s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b1bf9999a03ecea8b387775f4432f6e7","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3311246-cf3e-4fd4-babe-c1c57da5ad99","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a9d1c337-85ec-481f-99d8-5536b5732a15","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433002.1774035} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"b1bf9999a03ecea8b387775f4432f6e7","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"98d478cd-0406-456a-9e71-d15e979fa405","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433002.1816802} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"b1bf9999a03ecea8b387775f4432f6e7","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3311246-cf3e-4fd4-babe-c1c57da5ad99","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"99f7e389-7911-4294-be2d-36e5aa83d736","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433002.1914206} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f85cc63-dc50-412a-b4e0-419e62270ece","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433002.1915607} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"b1bf9999a03ecea8b387775f4432f6e7","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3311246-cf3e-4fd4-babe-c1c57da5ad99","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3311246-cf3e-4fd4-babe-c1c57da5ad99","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:42.191392504Z"}]},"request_id":"e2f1e545-6735-4078-b02f-fc8dde2bab8b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433002.195362} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b1bf9999a03ecea8b387775f4432f6e7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b1bf9999a03ecea8b387775f4432f6e7"} gateway-1 | {"time_local":"05/May/2025:08:16:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b1bf9999a03ecea8b387775f4432f6e7"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"b1bf9999a03ecea8b387775f4432f6e7","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwM30.C0DXw1MAhgeDn6cS72_5VIX9X24EJYYUsasZBBgfhkI","level":"info","message":"auth send jwt","requestID":"c5ec320ae9981bbde280f3b4ae9a3c74"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"c5ec320ae9981bbde280f3b4ae9a3c74","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c5ec320ae9981bbde280f3b4ae9a3c74"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:43Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.705506,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"c5ec320ae9981bbde280f3b4ae9a3c74","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433003,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwM30.C0DXw1MAhgeDn6cS72_5VIX9X24EJYYUsasZBBgfhkI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c5ec320ae9981bbde280f3b4ae9a3c74","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3311246-cf3e-4fd4-babe-c1c57da5ad99","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3311246-cf3e-4fd4-babe-c1c57da5ad99","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:42.191392504Z"}]},"request_id":"67f91b61-5b13-4116-a152-a23397c394f8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433003.0977585} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c5ec320ae9981bbde280f3b4ae9a3c74","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b6dfc81-ba52-446c-9622-724c02ccdf40","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433003.1018522} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"c5ec320ae9981bbde280f3b4ae9a3c74","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3311246-cf3e-4fd4-babe-c1c57da5ad99","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3311246-cf3e-4fd4-babe-c1c57da5ad99","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:42.191392504Z"}]},"request_id":"3829264c-1159-4865-8f16-74e676c39626","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433003.1463134} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c5ec320ae9981bbde280f3b4ae9a3c74","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c5ec320ae9981bbde280f3b4ae9a3c74"} gateway-1 | {"time_local":"05/May/2025:08:16:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.085","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"c5ec320ae9981bbde280f3b4ae9a3c74"} device-1 | {"level":"info","message":"PATCH /devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99 200 59ms","method":"PATCH","requestID":"c5ec320ae9981bbde280f3b4ae9a3c74","responseTime":59,"status":200,"url":"/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwM30.C0DXw1MAhgeDn6cS72_5VIX9X24EJYYUsasZBBgfhkI","level":"info","message":"auth send jwt","requestID":"3a878c0a2fdef8139ab8e3ffcb299c73"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3a878c0a2fdef8139ab8e3ffcb299c73","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3a878c0a2fdef8139ab8e3ffcb299c73"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:43Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.796681,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3a878c0a2fdef8139ab8e3ffcb299c73","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433003,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwM30.C0DXw1MAhgeDn6cS72_5VIX9X24EJYYUsasZBBgfhkI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3a878c0a2fdef8139ab8e3ffcb299c73","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3a878c0a2fdef8139ab8e3ffcb299c73"} gateway-1 | {"time_local":"05/May/2025:08:16:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"3a878c0a2fdef8139ab8e3ffcb299c73"} device-1 | {"level":"info","message":"POST /devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99/websocket 200 39ms","method":"POST","requestID":"3a878c0a2fdef8139ab8e3ffcb299c73","responseTime":39,"status":200,"url":"/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"95f9f76683e88d34175cddd213633461","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"95f9f76683e88d34175cddd213633461","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/94d294a1-0bcb-4ade-92b4-c976fc83524e/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.003","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"95f9f76683e88d34175cddd213633461"} device-1 | {"level":"info","message":"OPTIONS /devices/94d294a1-0bcb-4ade-92b4-c976fc83524e/websocket 200 1ms","method":"OPTIONS","requestID":"95f9f76683e88d34175cddd213633461","responseTime":1,"status":200,"url":"/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwNH0.HOwqKwXBdr_9Ac9FC4J0dUkorTKfVMk8dKyiJVt9fQ4","level":"info","message":"auth send jwt","requestID":"9d4480f1dc6bbf05b8c35c3eea5a924b"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9d4480f1dc6bbf05b8c35c3eea5a924b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9d4480f1dc6bbf05b8c35c3eea5a924b"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.24253,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"9d4480f1dc6bbf05b8c35c3eea5a924b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433004,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwNH0.HOwqKwXBdr_9Ac9FC4J0dUkorTKfVMk8dKyiJVt9fQ4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9d4480f1dc6bbf05b8c35c3eea5a924b","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9d4480f1dc6bbf05b8c35c3eea5a924b"} gateway-1 | {"time_local":"05/May/2025:08:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/94d294a1-0bcb-4ade-92b4-c976fc83524e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.078","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9d4480f1dc6bbf05b8c35c3eea5a924b"} device-1 | {"level":"info","message":"POST /devices/94d294a1-0bcb-4ade-92b4-c976fc83524e/websocket 200 71ms","method":"POST","requestID":"9d4480f1dc6bbf05b8c35c3eea5a924b","responseTime":71,"status":200,"url":"/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwNH0.HOwqKwXBdr_9Ac9FC4J0dUkorTKfVMk8dKyiJVt9fQ4","level":"info","message":"auth send jwt","requestID":"e9d52e43fd9f35790a38c11359f45614"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e9d52e43fd9f35790a38c11359f45614","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e9d52e43fd9f35790a38c11359f45614"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.652044,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"e9d52e43fd9f35790a38c11359f45614","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433004,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwNH0.HOwqKwXBdr_9Ac9FC4J0dUkorTKfVMk8dKyiJVt9fQ4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e9d52e43fd9f35790a38c11359f45614","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94d294a1-0bcb-4ade-92b4-c976fc83524e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94d294a1-0bcb-4ade-92b4-c976fc83524e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:42.101341897Z"}]},"request_id":"7a52dc11-43ab-4d2a-8be8-34ef0ede9b13","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433004.623053} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e9d52e43fd9f35790a38c11359f45614","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e9d52e43fd9f35790a38c11359f45614"} gateway-1 | {"time_local":"05/May/2025:08:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/94d294a1-0bcb-4ade-92b4-c976fc83524e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e9d52e43fd9f35790a38c11359f45614"} device-1 | {"level":"info","message":"GET /devices/94d294a1-0bcb-4ade-92b4-c976fc83524e? 200 11ms","method":"GET","requestID":"e9d52e43fd9f35790a38c11359f45614","responseTime":11,"status":200,"url":"/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwNH0.HOwqKwXBdr_9Ac9FC4J0dUkorTKfVMk8dKyiJVt9fQ4","level":"info","message":"auth send jwt","requestID":"950c2e82c1b674d206e818edab1a3e0f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"950c2e82c1b674d206e818edab1a3e0f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"950c2e82c1b674d206e818edab1a3e0f"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.649947,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"950c2e82c1b674d206e818edab1a3e0f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433004,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwNH0.HOwqKwXBdr_9Ac9FC4J0dUkorTKfVMk8dKyiJVt9fQ4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"950c2e82c1b674d206e818edab1a3e0f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3311246-cf3e-4fd4-babe-c1c57da5ad99","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3311246-cf3e-4fd4-babe-c1c57da5ad99","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:42.191392504Z"}]},"request_id":"d179265f-0823-4232-9f62-c47cd205bda8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433004.6378696} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"950c2e82c1b674d206e818edab1a3e0f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"950c2e82c1b674d206e818edab1a3e0f"} device-1 | {"level":"info","message":"GET /devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99? 200 10ms","method":"GET","requestID":"950c2e82c1b674d206e818edab1a3e0f","responseTime":10,"status":200,"url":"/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99?"} gateway-1 | {"time_local":"05/May/2025:08:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"950c2e82c1b674d206e818edab1a3e0f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwNH0.HOwqKwXBdr_9Ac9FC4J0dUkorTKfVMk8dKyiJVt9fQ4","level":"info","message":"auth send jwt","requestID":"9287fa7ecfdf707af10aab088107a142"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9287fa7ecfdf707af10aab088107a142","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"9287fa7ecfdf707af10aab088107a142"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.686918,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"9287fa7ecfdf707af10aab088107a142","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433004,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwNH0.HOwqKwXBdr_9Ac9FC4J0dUkorTKfVMk8dKyiJVt9fQ4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9287fa7ecfdf707af10aab088107a142","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801"},"level":"info","message":"Attempting to run experiment","requestID":"9287fa7ecfdf707af10aab088107a142"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801"},"level":"info","message":"Attempting to book experiment","requestID":"9287fa7ecfdf707af10aab088107a142"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801"},"level":"info","message":"Successfully booked experiment","requestID":"9287fa7ecfdf707af10aab088107a142"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"483274d0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4832c2f0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.604226,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"483274d0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433004,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwNH0.HOwqKwXBdr_9Ac9FC4J0dUkorTKfVMk8dKyiJVt9fQ4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"483274d0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38680","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:38680","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.694982,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4832c2f0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433004,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwNH0.HOwqKwXBdr_9Ac9FC4J0dUkorTKfVMk8dKyiJVt9fQ4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4832c2f0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94d294a1-0bcb-4ade-92b4-c976fc83524e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94d294a1-0bcb-4ade-92b4-c976fc83524e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:42.101341897Z"}]},"request_id":"526be6e9-b5eb-4cbd-89db-a1f596a87e3b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433004.7083597} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"483274d0-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3311246-cf3e-4fd4-babe-c1c57da5ad99","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3311246-cf3e-4fd4-babe-c1c57da5ad99","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:42.191392504Z"}]},"request_id":"fb40962f-bcb0-4c5f-a5e4-2e6f0ebf5910","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433004.711171} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4832c2f0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"483274d0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/94d294a1-0bcb-4ade-92b4-c976fc83524e? 200 12ms","method":"GET","requestID":"483274d0-2989-11f0-8876-6f29f2a860cb","responseTime":12,"status":200,"url":"/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4832c2f0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99? 200 11ms","method":"GET","requestID":"4832c2f0-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801"},"level":"info","message":"Setting up experiment","requestID":"9287fa7ecfdf707af10aab088107a142"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"9287fa7ecfdf707af10aab088107a142"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801"},"level":"info","message":"Successfully locked booking for experiment","requestID":"9287fa7ecfdf707af10aab088107a142"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"9287fa7ecfdf707af10aab088107a142"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"9287fa7ecfdf707af10aab088107a142"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801"},"level":"info","message":"Attempting to update booking for experiment","requestID":"9287fa7ecfdf707af10aab088107a142"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801"},"level":"info","message":"Successfully updated booking for experiment","requestID":"9287fa7ecfdf707af10aab088107a142"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801"},"level":"info","message":"Successfully set up experiment","requestID":"9287fa7ecfdf707af10aab088107a142"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"483d4a40-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"483d7150-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"483d9860-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801"},"level":"info","message":"Successfully running experiment","requestID":"9287fa7ecfdf707af10aab088107a142"} authorization-1 | {"client_addr":"127.0.0.1:38680","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:38680","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.680124,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"483d4a40-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433004,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwNH0.HOwqKwXBdr_9Ac9FC4J0dUkorTKfVMk8dKyiJVt9fQ4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"483d4a40-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.844908,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:38680","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"483d7150-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433004,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwNH0.HOwqKwXBdr_9Ac9FC4J0dUkorTKfVMk8dKyiJVt9fQ4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"483d7150-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94d294a1-0bcb-4ade-92b4-c976fc83524e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f2b3b1b1-8566-47f0-bd4a-f6655e2ee5ac","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433004.7799723} authorization-1 | {"client_addr":"127.0.0.1:38680","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.478063,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"483d9860-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"483d9860-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94d294a1-0bcb-4ade-92b4-c976fc83524e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94d294a1-0bcb-4ade-92b4-c976fc83524e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:42.101341897Z"}]},"request_id":"a2278ceb-9b07-44c7-b3eb-4d0c03ee9f6c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433004.7822125} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"483d4a40-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3311246-cf3e-4fd4-babe-c1c57da5ad99","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3311246-cf3e-4fd4-babe-c1c57da5ad99","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:42.191392504Z"}]},"request_id":"efa68f5e-4e3d-4d68-b9f7-f7744fd24c00","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433004.7842314} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"483d7150-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"483d9860-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/94d294a1-0bcb-4ade-92b4-c976fc83524e/signaling 200 11ms","method":"POST","requestID":"483d9860-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"483f9430-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"483d4a40-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/94d294a1-0bcb-4ade-92b4-c976fc83524e? 200 17ms","method":"GET","requestID":"483d4a40-2989-11f0-8876-6f29f2a860cb","responseTime":17,"status":200,"url":"/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"483d7150-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38680","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:44Z"} device-1 | {"level":"info","message":"GET /devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99? 200 17ms","method":"GET","requestID":"483d7150-2989-11f0-8876-6f29f2a860cb","responseTime":17,"status":200,"url":"/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99?"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3311246-cf3e-4fd4-babe-c1c57da5ad99","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"654de6a1-eb01-44bb-87b4-44f18aac61ef","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433004.7915626} authorization-1 | {"client_addr":"127.0.0.1:38680","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.812463,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:44Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"48405780-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"483f9430-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"483f9430-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fccd978e8-3213-4397-bf75-70a8aab58801#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fccd978e8-3213-4397-bf75-70a8aab58801","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"03ffa53c-7340-4509-8527-1114be721e90","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433004.796032} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"483f9430-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99/signaling 200 34ms","method":"POST","requestID":"483f9430-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c79f35b7-a513-4970-b979-9d66d0ec17fb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433004.8214164} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","method":"POST","requestID":"9287fa7ecfdf707af10aab088107a142","responseTime":46,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:38680","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94d294a1-0bcb-4ade-92b4-c976fc83524e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3fd96700-9c4d-4bd3-8277-8620cef94193","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433004.8253372} authorization-1 | {"client_addr":"127.0.0.1:38680","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.485437,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"48405780-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"48405780-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"9287fa7ecfdf707af10aab088107a142"} gateway-1 | {"time_local":"05/May/2025:08:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9287fa7ecfdf707af10aab088107a142"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"48405780-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"level":"info","message":"POST /experiments? 201 181ms","method":"POST","requestID":"9287fa7ecfdf707af10aab088107a142","responseTime":181,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/94d294a1-0bcb-4ade-92b4-c976fc83524e/signaling 200 38ms","method":"POST","requestID":"48405780-2989-11f0-8876-6f29f2a860cb","responseTime":38,"status":200,"url":"/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"48464af0-2989-11f0-8876-6f29f2a860cb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwNH0.HOwqKwXBdr_9Ac9FC4J0dUkorTKfVMk8dKyiJVt9fQ4","level":"info","message":"auth send jwt","requestID":"6443c906d40419213f261eefc7a29bc0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6443c906d40419213f261eefc7a29bc0","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38680","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:44Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6443c906d40419213f261eefc7a29bc0"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3311246-cf3e-4fd4-babe-c1c57da5ad99","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2842d79-07a3-4150-87f9-da7ebcdef49b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433004.8362565} authorization-1 | {"client_addr":"127.0.0.1:38680","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.298156,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"48464af0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"48464af0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.648102,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6443c906d40419213f261eefc7a29bc0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433004,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwNH0.HOwqKwXBdr_9Ac9FC4J0dUkorTKfVMk8dKyiJVt9fQ4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6443c906d40419213f261eefc7a29bc0","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"48464af0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99/signaling 200 34ms","method":"POST","requestID":"48464af0-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94d294a1-0bcb-4ade-92b4-c976fc83524e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94d294a1-0bcb-4ade-92b4-c976fc83524e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:42.101341897Z"}]},"request_id":"b08a71da-136e-4ebf-9e55-c6cec6bb8eb7","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433004.8659983} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"9287fa7ecfdf707af10aab088107a142"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801"},"level":"info","message":"Building connection plan","requestID":"9287fa7ecfdf707af10aab088107a142"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"6443c906d40419213f261eefc7a29bc0","responseTime":27,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"d75a8a9c-1dfe-4663-9567-1c556df55506"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"508ba4df-fd8c-48f9-84eb-81b4bfb1fb37"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"2c67848d-71cd-4107-8ebd-9bc840ca8825"}]},"level":"info","message":"Built pairwise service configurations","requestID":"9287fa7ecfdf707af10aab088107a142"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"9287fa7ecfdf707af10aab088107a142"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"484bf040-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6443c906d40419213f261eefc7a29bc0"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:44Z"} gateway-1 | {"time_local":"05/May/2025:08:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/94d294a1-0bcb-4ade-92b4-c976fc83524e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6443c906d40419213f261eefc7a29bc0"} device-1 | {"level":"info","message":"GET /devices/94d294a1-0bcb-4ade-92b4-c976fc83524e? 200 35ms","method":"GET","requestID":"6443c906d40419213f261eefc7a29bc0","responseTime":35,"status":200,"url":"/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e?"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.768696,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"484bf040-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433004,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwNH0.HOwqKwXBdr_9Ac9FC4J0dUkorTKfVMk8dKyiJVt9fQ4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"484bf040-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwNH0.HOwqKwXBdr_9Ac9FC4J0dUkorTKfVMk8dKyiJVt9fQ4","level":"info","message":"auth send jwt","requestID":"4d838f8369349d998de1e8dbed69725e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4d838f8369349d998de1e8dbed69725e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4d838f8369349d998de1e8dbed69725e"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.640758,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4d838f8369349d998de1e8dbed69725e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433004,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwNH0.HOwqKwXBdr_9Ac9FC4J0dUkorTKfVMk8dKyiJVt9fQ4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4d838f8369349d998de1e8dbed69725e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"98b03584-15b7-40db-9d46-b25798c87d8b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433004.881263} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c2c597f-01ea-4402-bbac-e7c50f770d04","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433004.8814676} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3311246-cf3e-4fd4-babe-c1c57da5ad99","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3311246-cf3e-4fd4-babe-c1c57da5ad99","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:42.191392504Z"}]},"request_id":"72c5c13a-bdd4-4552-a734-7a7325f66231","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433004.8821504} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"484bf040-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4d838f8369349d998de1e8dbed69725e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4d838f8369349d998de1e8dbed69725e"} gateway-1 | {"time_local":"05/May/2025:08:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4d838f8369349d998de1e8dbed69725e"} device-1 | {"level":"info","message":"GET /devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99? 200 11ms","method":"GET","requestID":"4d838f8369349d998de1e8dbed69725e","responseTime":11,"status":200,"url":"/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"484bf040-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"484bf040-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/842f1104-ce0c-4b08-ab0b-723cfce72f89'","requestID":"484bf040-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/842f1104-ce0c-4b08-ab0b-723cfce72f89'","requestID":"484bf040-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"484bf040-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 53ms","method":"POST","requestID":"484bf040-2989-11f0-8876-6f29f2a860cb","responseTime":53,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"484bf040-2989-11f0-8876-6f29f2a860cb"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/842f1104-ce0c-4b08-ab0b-723cfce72f89","device":"94d294a1-0bcb-4ade-92b4-c976fc83524e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"9287fa7ecfdf707af10aab088107a142"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"485bf5d0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"device":"94d294a1-0bcb-4ade-92b4-c976fc83524e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"94d294a1-0bcb-4ade-92b4-c976fc83524e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94d294a1-0bcb-4ade-92b4-c976fc83524e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b4521c1-4168-4f9d-a6ca-7900b007921e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433004.9777253} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.026891,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:44Z"} device-1 | {"content":{"sdp":"v=0\r\no=- 3460056362035738803 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:SVCh\r\na=ice-pwd:NHYzYVJYKKkg+kCw6tQYGg7n\r\na=ice-options:trickle\r\na=fingerprint:sha-256 08:6E:A2:9C:1C:88:18:9B:E7:77:B1:B4:5F:77:82:36:79:23:08:10:9A:6C:C7:66:68:00:79:D3:57:86:C6:BD\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"94d294a1-0bcb-4ade-92b4-c976fc83524e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"485bf5d0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"485bf5d0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"485bf5d0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/94d294a1-0bcb-4ade-92b4-c976fc83524e/signaling 200 10ms","method":"POST","requestID":"485bf5d0-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"485dca90-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:44Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3311246-cf3e-4fd4-babe-c1c57da5ad99","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c6123af1-e439-4af6-932d-74b595f0c72b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433005.0132532} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.213394,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"485dca90-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"485dca90-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"485dca90-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99/signaling 200 32ms","method":"POST","requestID":"485dca90-2989-11f0-8876-6f29f2a860cb","responseTime":32,"status":200,"url":"/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99/signaling"} device-1 | {"device":"94d294a1-0bcb-4ade-92b4-c976fc83524e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"c3311246-cf3e-4fd4-babe-c1c57da5ad99","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"842f1104-ce0c-4b08-ab0b-723cfce72f89","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c3311246-cf3e-4fd4-babe-c1c57da5ad99","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c3311246-cf3e-4fd4-babe-c1c57da5ad99","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c3311246-cf3e-4fd4-babe-c1c57da5ad99","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c3311246-cf3e-4fd4-babe-c1c57da5ad99","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/842f1104-ce0c-4b08-ab0b-723cfce72f89' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"842f1104-ce0c-4b08-ab0b-723cfce72f89","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"30d60b2a79d8ba4243fe19db04bf6055","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"30d60b2a79d8ba4243fe19db04bf6055","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/842f1104-ce0c-4b08-ab0b-723cfce72f89"}}},"level":"info","message":"received a callback","requestID":"30d60b2a79d8ba4243fe19db04bf6055"} device-1 | {"content":{"candidate":"candidate:2545966105 1 udp 2113937151 c875ae5d-d661-47cc-8092-797f87f236dd.local 47723 typ host generation 0 ufrag SVCh network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"94d294a1-0bcb-4ade-92b4-c976fc83524e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"30d60b2a79d8ba4243fe19db04bf6055","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"30d60b2a79d8ba4243fe19db04bf6055"} device-1 | {"device":"94d294a1-0bcb-4ade-92b4-c976fc83524e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"c3311246-cf3e-4fd4-babe-c1c57da5ad99","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"94d294a1-0bcb-4ade-92b4-c976fc83524e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"c3311246-cf3e-4fd4-babe-c1c57da5ad99","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"842f1104-ce0c-4b08-ab0b-723cfce72f89","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"842f1104-ce0c-4b08-ab0b-723cfce72f89","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/842f1104-ce0c-4b08-ab0b-723cfce72f89' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"842f1104-ce0c-4b08-ab0b-723cfce72f89","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5b0742f682c56a13b45bdbf149311e4f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5b0742f682c56a13b45bdbf149311e4f","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/842f1104-ce0c-4b08-ab0b-723cfce72f89"}}},"level":"info","message":"received a callback","requestID":"5b0742f682c56a13b45bdbf149311e4f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwN30.G_qqFbkhRuzhRamAWZ1efYVlkbAWPFIhfkk2Y4-tq54","level":"info","message":"auth send jwt","requestID":"3453c3db86e1af88b6a5bb54e311ae5d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3453c3db86e1af88b6a5bb54e311ae5d","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ccd978e8-3213-4397-bf75-70a8aab58801","requestID":"3453c3db86e1af88b6a5bb54e311ae5d"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:47Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.679796,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3453c3db86e1af88b6a5bb54e311ae5d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433007,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwN30.G_qqFbkhRuzhRamAWZ1efYVlkbAWPFIhfkk2Y4-tq54"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3453c3db86e1af88b6a5bb54e311ae5d","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"499e87f0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:47Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ccd978e8-3213-4397-bf75-70a8aab58801","requestID":"3453c3db86e1af88b6a5bb54e311ae5d"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F842f1104-ce0c-4b08-ab0b-723cfce72f89","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ad799a2-ce3e-411b-8ee4-5485ebeb852d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433007.091271} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.41869,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:47Z"} gateway-1 | {"time_local":"05/May/2025:08:16:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ccd978e8-3213-4397-bf75-70a8aab58801 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3453c3db86e1af88b6a5bb54e311ae5d"} experiment-1 | {"level":"info","message":"GET /experiments/ccd978e8-3213-4397-bf75-70a8aab58801 200 9ms","method":"GET","requestID":"3453c3db86e1af88b6a5bb54e311ae5d","responseTime":9,"status":200,"url":"/experiments/ccd978e8-3213-4397-bf75-70a8aab58801"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/842f1104-ce0c-4b08-ab0b-723cfce72f89","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"499e87f0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/842f1104-ce0c-4b08-ab0b-723cfce72f89","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"499e87f0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"499e87f0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/842f1104-ce0c-4b08-ab0b-723cfce72f89 200 7ms","method":"GET","requestID":"499e87f0-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/peerconnections/842f1104-ce0c-4b08-ab0b-723cfce72f89"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 56ms","method":"POST","requestID":"5b0742f682c56a13b45bdbf149311e4f","responseTime":56,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch","requestID":"5b0742f682c56a13b45bdbf149311e4f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"49a65020-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:47Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3311246-cf3e-4fd4-babe-c1c57da5ad99","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ff08d3b5-11bf-440a-a680-bb1b8de25dc9","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433007.1420858} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.840281,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"49a65020-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"49a65020-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"49a65020-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99/signaling 200 33ms","method":"POST","requestID":"49a65020-2989-11f0-8876-6f29f2a860cb","responseTime":33,"status":200,"url":"/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"49ab8040-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:47Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94d294a1-0bcb-4ade-92b4-c976fc83524e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f87733e0-4ba3-4c26-beb3-e6a4327e8540","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433007.1764705} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.422986,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"49ab8040-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"49ab8040-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"49ab8040-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/94d294a1-0bcb-4ade-92b4-c976fc83524e/signaling 200 8ms","method":"POST","requestID":"49ab8040-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwN30.G_qqFbkhRuzhRamAWZ1efYVlkbAWPFIhfkk2Y4-tq54","level":"info","message":"auth send jwt","requestID":"f9606538f6ea55bc7fea4b07846d7aaf"} authentication-1 | {"level":"info","message":"GET /auth 200 13ms","method":"GET","requestID":"f9606538f6ea55bc7fea4b07846d7aaf","responseTime":13,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ccd978e8-3213-4397-bf75-70a8aab58801","requestID":"f9606538f6ea55bc7fea4b07846d7aaf"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:47Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.756277,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"f9606538f6ea55bc7fea4b07846d7aaf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433007,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwN30.G_qqFbkhRuzhRamAWZ1efYVlkbAWPFIhfkk2Y4-tq54"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f9606538f6ea55bc7fea4b07846d7aaf","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ccd978e8-3213-4397-bf75-70a8aab58801","requestID":"f9606538f6ea55bc7fea4b07846d7aaf"} gateway-1 | {"time_local":"05/May/2025:08:16:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ccd978e8-3213-4397-bf75-70a8aab58801 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f9606538f6ea55bc7fea4b07846d7aaf"} experiment-1 | {"level":"info","message":"GET /experiments/ccd978e8-3213-4397-bf75-70a8aab58801 200 8ms","method":"GET","requestID":"f9606538f6ea55bc7fea4b07846d7aaf","responseTime":8,"status":200,"url":"/experiments/ccd978e8-3213-4397-bf75-70a8aab58801"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwN30.G_qqFbkhRuzhRamAWZ1efYVlkbAWPFIhfkk2Y4-tq54","level":"info","message":"auth send jwt","requestID":"c317534a728e88adf883b76694dbeaab"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c317534a728e88adf883b76694dbeaab","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ccd978e8-3213-4397-bf75-70a8aab58801","requestID":"c317534a728e88adf883b76694dbeaab"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:47Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.71932,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"c317534a728e88adf883b76694dbeaab","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433007,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwN30.G_qqFbkhRuzhRamAWZ1efYVlkbAWPFIhfkk2Y4-tq54"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c317534a728e88adf883b76694dbeaab","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801"},"level":"info","message":"Attempting to finish experiment","requestID":"c317534a728e88adf883b76694dbeaab"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"49b60790-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:47Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.8117,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/842f1104-ce0c-4b08-ab0b-723cfce72f89","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"49b60790-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/842f1104-ce0c-4b08-ab0b-723cfce72f89","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433007,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwN30.G_qqFbkhRuzhRamAWZ1efYVlkbAWPFIhfkk2Y4-tq54"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"49b60790-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/842f1104-ce0c-4b08-ab0b-723cfce72f89","device":"94d294a1-0bcb-4ade-92b4-c976fc83524e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"c3311246-cf3e-4fd4-babe-c1c57da5ad99","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c3311246-cf3e-4fd4-babe-c1c57da5ad99","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c3311246-cf3e-4fd4-babe-c1c57da5ad99","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/842f1104-ce0c-4b08-ab0b-723cfce72f89' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/842f1104-ce0c-4b08-ab0b-723cfce72f89' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"842f1104-ce0c-4b08-ab0b-723cfce72f89","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F842f1104-ce0c-4b08-ab0b-723cfce72f89': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F842f1104-ce0c-4b08-ab0b-723cfce72f89","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"380a6f1b-c431-407d-9bbc-d2331af62192","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433007.254415} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b58790cf-c366-45c8-9c83-c57ca5303623","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433007.2546494} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5b4a6bef59edf8f4e68fe7af848ae425","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5b4a6bef59edf8f4e68fe7af848ae425","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"49b60790-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d0c476f3f149863bbb62eb16a16a4854","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/842f1104-ce0c-4b08-ab0b-723cfce72f89"}}},"level":"info","message":"received a callback","requestID":"5b4a6bef59edf8f4e68fe7af848ae425"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d0c476f3f149863bbb62eb16a16a4854","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/842f1104-ce0c-4b08-ab0b-723cfce72f89"}}},"level":"info","message":"received a callback","requestID":"d0c476f3f149863bbb62eb16a16a4854"} device-1 | {"data":{"peerconnection":"842f1104-ce0c-4b08-ab0b-723cfce72f89","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"49b60790-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/842f1104-ce0c-4b08-ab0b-723cfce72f89 204 67ms","method":"DELETE","requestID":"49b60790-2989-11f0-8876-6f29f2a860cb","responseTime":67,"status":204,"url":"/peerconnections/842f1104-ce0c-4b08-ab0b-723cfce72f89"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccd978e8-3213-4397-bf75-70a8aab58801"},"level":"info","message":"Successfully finished experiment","requestID":"c317534a728e88adf883b76694dbeaab"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"49c37510-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:47Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3311246-cf3e-4fd4-babe-c1c57da5ad99","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c082e33-cff0-46d6-9ce3-44f58b243555","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433007.333447} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.762461,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"49c37510-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"49c37510-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"49c37510-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99/signaling 200 34ms","method":"POST","requestID":"49c37510-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"49c8f350-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:47Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94d294a1-0bcb-4ade-92b4-c976fc83524e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7ddf2686-fc27-4d6f-b21a-f890d939cd74","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433007.3691468} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.625438,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"49c8f350-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"49c8f350-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"49c8f350-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/94d294a1-0bcb-4ade-92b4-c976fc83524e/signaling 200 8ms","method":"POST","requestID":"49c8f350-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e/signaling"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fccd978e8-3213-4397-bf75-70a8aab58801': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fccd978e8-3213-4397-bf75-70a8aab58801","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"2974e396-d6f9-42be-9875-c25902f2b65b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433007.3731427} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2d41a2e-7829-427a-a619-b15946cca475","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433007.373462} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","method":"POST","requestID":"c317534a728e88adf883b76694dbeaab","responseTime":47,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ccd978e8-3213-4397-bf75-70a8aab58801","requestID":"c317534a728e88adf883b76694dbeaab"} gateway-1 | {"time_local":"05/May/2025:08:16:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ccd978e8-3213-4397-bf75-70a8aab58801 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.246","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c317534a728e88adf883b76694dbeaab"} experiment-1 | {"level":"info","message":"DELETE /experiments/ccd978e8-3213-4397-bf75-70a8aab58801 204 242ms","method":"DELETE","requestID":"c317534a728e88adf883b76694dbeaab","responseTime":242,"status":204,"url":"/experiments/ccd978e8-3213-4397-bf75-70a8aab58801"} gateway-1 | {"time_local":"05/May/2025:08:16:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2578","request_time":"4.282","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"ecef5ba1d8e478dabb300904143584bc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 220ms","method":"POST","requestID":"5b4a6bef59edf8f4e68fe7af848ae425","responseTime":220,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.222","http_referrer":"","http_user_agent":"node-fetch","requestID":"5b4a6bef59edf8f4e68fe7af848ae425"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c3311246-cf3e-4fd4-babe-c1c57da5ad99' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 219ms","method":"POST","requestID":"d0c476f3f149863bbb62eb16a16a4854","responseTime":219,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.222","http_referrer":"","http_user_agent":"node-fetch","requestID":"d0c476f3f149863bbb62eb16a16a4854"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwN30.G_qqFbkhRuzhRamAWZ1efYVlkbAWPFIhfkk2Y4-tq54","level":"info","message":"auth send jwt","requestID":"2702e2380c26cc95fb4d35efe2ca7758"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2702e2380c26cc95fb4d35efe2ca7758","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2702e2380c26cc95fb4d35efe2ca7758"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:47Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.040171,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2702e2380c26cc95fb4d35efe2ca7758","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433007,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwN30.G_qqFbkhRuzhRamAWZ1efYVlkbAWPFIhfkk2Y4-tq54"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2702e2380c26cc95fb4d35efe2ca7758","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8689e2-bcb6-4535-af10-69c0c373e2f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0d6a0e65-8690-4a1e-aad5-0997bf455ccd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433007.4981356} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2702e2380c26cc95fb4d35efe2ca7758","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c3290a87-9d1a-4e46-9550-4071a5b6b7da","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433007.502155} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2702e2380c26cc95fb4d35efe2ca7758","responseTime":3,"status":200,"url":"/relations/update"} gateway-1 | {"time_local":"05/May/2025:08:16:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2784","request_time":"2.899","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"86d2d2f2838c6b44349149a19038a0a6"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/94d294a1-0bcb-4ade-92b4-c976fc83524e' closed"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8689e2-bcb6-4535-af10-69c0c373e2f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"9160729b-a629-4de4-928a-b2e83e4aa24c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433007.5144408} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9898c9f9-40a9-465e-8e13-fcf100eee7ee","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433007.5145373} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"2702e2380c26cc95fb4d35efe2ca7758","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8689e2-bcb6-4535-af10-69c0c373e2f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8689e2-bcb6-4535-af10-69c0c373e2f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:47.514419309Z"}]},"request_id":"c6356302-4a4a-40a1-81af-b964d389f842","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433007.5193658} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2702e2380c26cc95fb4d35efe2ca7758","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2702e2380c26cc95fb4d35efe2ca7758"} gateway-1 | {"time_local":"05/May/2025:08:16:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2702e2380c26cc95fb4d35efe2ca7758"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"2702e2380c26cc95fb4d35efe2ca7758","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwN30.G_qqFbkhRuzhRamAWZ1efYVlkbAWPFIhfkk2Y4-tq54","level":"info","message":"auth send jwt","requestID":"91b9bbe0959387c8c95a14a8c62dd995"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"91b9bbe0959387c8c95a14a8c62dd995","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"91b9bbe0959387c8c95a14a8c62dd995"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:47Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.787373,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"91b9bbe0959387c8c95a14a8c62dd995","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433007,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwN30.G_qqFbkhRuzhRamAWZ1efYVlkbAWPFIhfkk2Y4-tq54"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"91b9bbe0959387c8c95a14a8c62dd995","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b411852-5ad8-4e7f-a154-efeb048637d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"20d9fd11-2d93-4e85-a027-cb8bfe0095b5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433007.5450115} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"91b9bbe0959387c8c95a14a8c62dd995","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f77af14c-9abc-4dbd-b22b-da0e079bf359","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433007.5502872} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"91b9bbe0959387c8c95a14a8c62dd995","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b411852-5ad8-4e7f-a154-efeb048637d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"74f5e45f-5b6b-4d7d-a72c-a9e0770691d2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433007.5668874} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"67ea0614-a4ab-47ef-8b72-e841537c5db8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433007.567054} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"91b9bbe0959387c8c95a14a8c62dd995","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b411852-5ad8-4e7f-a154-efeb048637d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b411852-5ad8-4e7f-a154-efeb048637d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:47.566854214Z"}]},"request_id":"71f91837-cc59-43ca-98f3-fa4ac62e869f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433007.5711195} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"91b9bbe0959387c8c95a14a8c62dd995","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"91b9bbe0959387c8c95a14a8c62dd995"} gateway-1 | {"time_local":"05/May/2025:08:16:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"91b9bbe0959387c8c95a14a8c62dd995"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"91b9bbe0959387c8c95a14a8c62dd995","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwOH0.PGVR9U-vh5P8XywlkO-6dhrBCWzsZy3Jssv9JMkoTlI","level":"info","message":"auth send jwt","requestID":"2dc67c5ffee132b5c9784852046eab1f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2dc67c5ffee132b5c9784852046eab1f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2dc67c5ffee132b5c9784852046eab1f"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:48Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.746278,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2dc67c5ffee132b5c9784852046eab1f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433008,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwOH0.PGVR9U-vh5P8XywlkO-6dhrBCWzsZy3Jssv9JMkoTlI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2dc67c5ffee132b5c9784852046eab1f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8689e2-bcb6-4535-af10-69c0c373e2f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8689e2-bcb6-4535-af10-69c0c373e2f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:47.514419309Z"}]},"request_id":"61870688-1db2-4328-8681-00500b000f8d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433008.4768782} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2dc67c5ffee132b5c9784852046eab1f","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f25dd00-85ae-425d-bf96-468bb1421263","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433008.4810424} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2dc67c5ffee132b5c9784852046eab1f","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8689e2-bcb6-4535-af10-69c0c373e2f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8689e2-bcb6-4535-af10-69c0c373e2f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:47.514419309Z"}]},"request_id":"7ca3b4ff-4113-4a18-9113-1a64edb6cd1f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433008.5181022} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2dc67c5ffee132b5c9784852046eab1f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2dc67c5ffee132b5c9784852046eab1f"} gateway-1 | {"time_local":"05/May/2025:08:16:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.079","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"2dc67c5ffee132b5c9784852046eab1f"} device-1 | {"level":"info","message":"PATCH /devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6 200 51ms","method":"PATCH","requestID":"2dc67c5ffee132b5c9784852046eab1f","responseTime":51,"status":200,"url":"/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwOH0.PGVR9U-vh5P8XywlkO-6dhrBCWzsZy3Jssv9JMkoTlI","level":"info","message":"auth send jwt","requestID":"758b602af4086aeeb8288d2dcdaf42a7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"758b602af4086aeeb8288d2dcdaf42a7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"758b602af4086aeeb8288d2dcdaf42a7"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:48Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.822948,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"758b602af4086aeeb8288d2dcdaf42a7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433008,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwOH0.PGVR9U-vh5P8XywlkO-6dhrBCWzsZy3Jssv9JMkoTlI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"758b602af4086aeeb8288d2dcdaf42a7","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"758b602af4086aeeb8288d2dcdaf42a7"} gateway-1 | {"time_local":"05/May/2025:08:16:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"758b602af4086aeeb8288d2dcdaf42a7"} device-1 | {"level":"info","message":"POST /devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6/websocket 200 37ms","method":"POST","requestID":"758b602af4086aeeb8288d2dcdaf42a7","responseTime":37,"status":200,"url":"/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f352e1556860d8b8af42856528df4d4b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f352e1556860d8b8af42856528df4d4b","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:16:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7b411852-5ad8-4e7f-a154-efeb048637d7/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f352e1556860d8b8af42856528df4d4b"} device-1 | {"level":"info","message":"OPTIONS /devices/7b411852-5ad8-4e7f-a154-efeb048637d7/websocket 200 1ms","method":"OPTIONS","requestID":"f352e1556860d8b8af42856528df4d4b","responseTime":1,"status":200,"url":"/devices/7b411852-5ad8-4e7f-a154-efeb048637d7/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwOX0.kd0DmjDlZWorOVcAnz7JUWS-rIxg94q3m9sonnRSrSU","level":"info","message":"auth send jwt","requestID":"451d46c78dff6ed302cf932d33eccdee"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"451d46c78dff6ed302cf932d33eccdee","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"451d46c78dff6ed302cf932d33eccdee"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:49Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.215315,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"451d46c78dff6ed302cf932d33eccdee","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433009,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwOX0.kd0DmjDlZWorOVcAnz7JUWS-rIxg94q3m9sonnRSrSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"451d46c78dff6ed302cf932d33eccdee","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"451d46c78dff6ed302cf932d33eccdee"} device-1 | {"level":"info","message":"POST /devices/7b411852-5ad8-4e7f-a154-efeb048637d7/websocket 200 39ms","method":"POST","requestID":"451d46c78dff6ed302cf932d33eccdee","responseTime":39,"status":200,"url":"/devices/7b411852-5ad8-4e7f-a154-efeb048637d7/websocket"} gateway-1 | {"time_local":"05/May/2025:08:16:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7b411852-5ad8-4e7f-a154-efeb048637d7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.045","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"451d46c78dff6ed302cf932d33eccdee"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwOX0.kd0DmjDlZWorOVcAnz7JUWS-rIxg94q3m9sonnRSrSU","level":"info","message":"auth send jwt","requestID":"d738843e612ed5e82d8b392e20ecd974"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d738843e612ed5e82d8b392e20ecd974","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d738843e612ed5e82d8b392e20ecd974"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:49Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.110385,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"d738843e612ed5e82d8b392e20ecd974","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433009,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwOX0.kd0DmjDlZWorOVcAnz7JUWS-rIxg94q3m9sonnRSrSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"d738843e612ed5e82d8b392e20ecd974","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8689e2-bcb6-4535-af10-69c0c373e2f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8689e2-bcb6-4535-af10-69c0c373e2f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:47.514419309Z"}]},"request_id":"21164d4a-22dd-4ee2-84c6-04b82952169c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433009.9090385} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d738843e612ed5e82d8b392e20ecd974","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d738843e612ed5e82d8b392e20ecd974"} device-1 | {"level":"info","message":"GET /devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6? 200 39ms","method":"GET","requestID":"d738843e612ed5e82d8b392e20ecd974","responseTime":39,"status":200,"url":"/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6?"} gateway-1 | {"time_local":"05/May/2025:08:16:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d738843e612ed5e82d8b392e20ecd974"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwOX0.kd0DmjDlZWorOVcAnz7JUWS-rIxg94q3m9sonnRSrSU","level":"info","message":"auth send jwt","requestID":"c34e5156d6d6e4b8203f9a60ad89ba61"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c34e5156d6d6e4b8203f9a60ad89ba61","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c34e5156d6d6e4b8203f9a60ad89ba61"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:49Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.27326,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"c34e5156d6d6e4b8203f9a60ad89ba61","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433009,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwOX0.kd0DmjDlZWorOVcAnz7JUWS-rIxg94q3m9sonnRSrSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c34e5156d6d6e4b8203f9a60ad89ba61","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b411852-5ad8-4e7f-a154-efeb048637d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b411852-5ad8-4e7f-a154-efeb048637d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:47.566854214Z"}]},"request_id":"28b3e7d9-d041-4c77-8180-18f771a085ff","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433009.9296064} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c34e5156d6d6e4b8203f9a60ad89ba61","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c34e5156d6d6e4b8203f9a60ad89ba61"} gateway-1 | {"time_local":"05/May/2025:08:16:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7b411852-5ad8-4e7f-a154-efeb048637d7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c34e5156d6d6e4b8203f9a60ad89ba61"} device-1 | {"level":"info","message":"GET /devices/7b411852-5ad8-4e7f-a154-efeb048637d7? 200 35ms","method":"GET","requestID":"c34e5156d6d6e4b8203f9a60ad89ba61","responseTime":35,"status":200,"url":"/devices/7b411852-5ad8-4e7f-a154-efeb048637d7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwOX0.kd0DmjDlZWorOVcAnz7JUWS-rIxg94q3m9sonnRSrSU","level":"info","message":"auth send jwt","requestID":"72b104729a211bf7e66f38777fa9a05a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"72b104729a211bf7e66f38777fa9a05a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"72b104729a211bf7e66f38777fa9a05a"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:49Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.926398,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"72b104729a211bf7e66f38777fa9a05a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433009,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwOX0.kd0DmjDlZWorOVcAnz7JUWS-rIxg94q3m9sonnRSrSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"72b104729a211bf7e66f38777fa9a05a","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb"},"level":"info","message":"Attempting to run experiment","requestID":"72b104729a211bf7e66f38777fa9a05a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb"},"level":"info","message":"Attempting to book experiment","requestID":"72b104729a211bf7e66f38777fa9a05a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb"},"level":"info","message":"Successfully booked experiment","requestID":"72b104729a211bf7e66f38777fa9a05a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4b5e1240-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4b5e3950-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.645922,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4b5e1240-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433009,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwOX0.kd0DmjDlZWorOVcAnz7JUWS-rIxg94q3m9sonnRSrSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"4b5e1240-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4b5e3950-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433009,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwOX0.kd0DmjDlZWorOVcAnz7JUWS-rIxg94q3m9sonnRSrSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"4b5e3950-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.90896,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8689e2-bcb6-4535-af10-69c0c373e2f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8689e2-bcb6-4535-af10-69c0c373e2f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:47.514419309Z"}]},"request_id":"1ae839c3-ba56-47e7-922e-4268af42b424","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433010.0538392} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4b5e1240-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b411852-5ad8-4e7f-a154-efeb048637d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b411852-5ad8-4e7f-a154-efeb048637d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:47.566854214Z"}]},"request_id":"38eeb90b-dcae-456d-847e-9de5407fd714","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433010.0546625} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4b5e3950-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4b5e1240-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6? 200 39ms","method":"GET","requestID":"4b5e1240-2989-11f0-8876-6f29f2a860cb","responseTime":39,"status":200,"url":"/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4b5e3950-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/7b411852-5ad8-4e7f-a154-efeb048637d7? 200 38ms","method":"GET","requestID":"4b5e3950-2989-11f0-8876-6f29f2a860cb","responseTime":38,"status":200,"url":"/devices/7b411852-5ad8-4e7f-a154-efeb048637d7?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb"},"level":"info","message":"Setting up experiment","requestID":"72b104729a211bf7e66f38777fa9a05a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"72b104729a211bf7e66f38777fa9a05a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb"},"level":"info","message":"Successfully locked booking for experiment","requestID":"72b104729a211bf7e66f38777fa9a05a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"72b104729a211bf7e66f38777fa9a05a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"72b104729a211bf7e66f38777fa9a05a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb"},"level":"info","message":"Attempting to update booking for experiment","requestID":"72b104729a211bf7e66f38777fa9a05a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb"},"level":"info","message":"Successfully updated booking for experiment","requestID":"72b104729a211bf7e66f38777fa9a05a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb"},"level":"info","message":"Successfully set up experiment","requestID":"72b104729a211bf7e66f38777fa9a05a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4b6d0660-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4b6d2d70-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb"},"level":"info","message":"Successfully running experiment","requestID":"72b104729a211bf7e66f38777fa9a05a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4b712510-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.790651,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4b6d0660-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433009,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwOX0.kd0DmjDlZWorOVcAnz7JUWS-rIxg94q3m9sonnRSrSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"4b6d0660-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658031,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4b6d2d70-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433009,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwOX0.kd0DmjDlZWorOVcAnz7JUWS-rIxg94q3m9sonnRSrSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4b6d2d70-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.892807,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8689e2-bcb6-4535-af10-69c0c373e2f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9824b07e-a0ee-47bd-aa16-3113244d68d6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433010.1519206} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4b712510-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"4b712510-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b411852-5ad8-4e7f-a154-efeb048637d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b411852-5ad8-4e7f-a154-efeb048637d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:47.566854214Z"}]},"request_id":"69ee4064-6196-4969-b0b4-ea322e9c4443","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433010.1555116} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4b6d2d70-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8689e2-bcb6-4535-af10-69c0c373e2f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8689e2-bcb6-4535-af10-69c0c373e2f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:47.514419309Z"}]},"request_id":"fd06e5e8-9c0a-4c74-9286-5eddafd9d74a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433010.1573691} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4b6d0660-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4b712510-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6/signaling 200 14ms","method":"POST","requestID":"4b712510-2989-11f0-8876-6f29f2a860cb","responseTime":14,"status":200,"url":"/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4b739610-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4b6d2d70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/7b411852-5ad8-4e7f-a154-efeb048637d7? 200 43ms","method":"GET","requestID":"4b6d2d70-2989-11f0-8876-6f29f2a860cb","responseTime":43,"status":200,"url":"/devices/7b411852-5ad8-4e7f-a154-efeb048637d7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4b6d0660-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:50Z"} device-1 | {"level":"info","message":"GET /devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6? 200 45ms","method":"GET","requestID":"4b6d0660-2989-11f0-8876-6f29f2a860cb","responseTime":45,"status":200,"url":"/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4b743250-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b411852-5ad8-4e7f-a154-efeb048637d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef52e187-5010-4467-98c0-76615e2a7fa8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433010.1652942} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.316915,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4b739610-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4b739610-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F297ba078-c129-4ce6-a9e7-adbba55b92bb#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F297ba078-c129-4ce6-a9e7-adbba55b92bb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"915ae377-2add-4598-8aad-67a9ca33548f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433010.1669698} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fb010ffc-25db-4b96-bbab-a42e64c331e6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433010.1671696} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","method":"POST","requestID":"72b104729a211bf7e66f38777fa9a05a","responseTime":47,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8689e2-bcb6-4535-af10-69c0c373e2f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"25c80a92-14c6-46db-a315-cba93840e5f4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433010.1949816} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.433111,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4b743250-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"4b743250-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4b739610-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/7b411852-5ad8-4e7f-a154-efeb048637d7/signaling 200 36ms","method":"POST","requestID":"4b739610-2989-11f0-8876-6f29f2a860cb","responseTime":36,"status":200,"url":"/devices/7b411852-5ad8-4e7f-a154-efeb048637d7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4b743250-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6/signaling 200 34ms","method":"POST","requestID":"4b743250-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"72b104729a211bf7e66f38777fa9a05a"} gateway-1 | {"time_local":"05/May/2025:08:16:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.245","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"72b104729a211bf7e66f38777fa9a05a"} experiment-1 | {"level":"info","message":"POST /experiments? 201 241ms","method":"POST","requestID":"72b104729a211bf7e66f38777fa9a05a","responseTime":241,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4b79d7a0-2989-11f0-8876-6f29f2a860cb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxMH0.12j75JzGBQKIL3_VqoVYijf6YNxM5aUfMCr8sS9LhuY","level":"info","message":"auth send jwt","requestID":"c0d658712fe69bd1321a512604d32ca0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c0d658712fe69bd1321a512604d32ca0","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:50Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c0d658712fe69bd1321a512604d32ca0"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b411852-5ad8-4e7f-a154-efeb048637d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"79554f38-3f0c-4b50-b19f-592c5d9b161c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433010.206398} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.32524,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4b79d7a0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4b79d7a0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.592491,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"c0d658712fe69bd1321a512604d32ca0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433010,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxMH0.12j75JzGBQKIL3_VqoVYijf6YNxM5aUfMCr8sS9LhuY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c0d658712fe69bd1321a512604d32ca0","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4b79d7a0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/7b411852-5ad8-4e7f-a154-efeb048637d7/signaling 200 10ms","method":"POST","requestID":"4b79d7a0-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/7b411852-5ad8-4e7f-a154-efeb048637d7/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8689e2-bcb6-4535-af10-69c0c373e2f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8689e2-bcb6-4535-af10-69c0c373e2f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:47.514419309Z"}]},"request_id":"97cbd27e-4db5-4492-ab5d-4a05bdc1fe7b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433010.2130678} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"72b104729a211bf7e66f38777fa9a05a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb"},"level":"info","message":"Building connection plan","requestID":"72b104729a211bf7e66f38777fa9a05a"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"1f4e074a-1a12-49b2-9813-cc72cd96354e"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"26473d1d-91ac-4f14-b133-6d54cd1ef9e0"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"59bb2f42-7521-485a-9f38-7992a01143e1"}]},"level":"info","message":"Built pairwise service configurations","requestID":"72b104729a211bf7e66f38777fa9a05a"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"72b104729a211bf7e66f38777fa9a05a"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c0d658712fe69bd1321a512604d32ca0","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"4b7bd370-2989-11f0-8876-6f29f2a860cb"} gateway-1 | {"time_local":"05/May/2025:08:16:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0d658712fe69bd1321a512604d32ca0"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c0d658712fe69bd1321a512604d32ca0"} device-1 | {"level":"info","message":"GET /devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6? 200 37ms","method":"GET","requestID":"c0d658712fe69bd1321a512604d32ca0","responseTime":37,"status":200,"url":"/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxMH0.12j75JzGBQKIL3_VqoVYijf6YNxM5aUfMCr8sS9LhuY","level":"info","message":"auth send jwt","requestID":"f12c8352f0bc0fe3131fcd7d75fd9a75"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f12c8352f0bc0fe3131fcd7d75fd9a75","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f12c8352f0bc0fe3131fcd7d75fd9a75"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.786818,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4b7bd370-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433009,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAwOX0.kd0DmjDlZWorOVcAnz7JUWS-rIxg94q3m9sonnRSrSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"4b7bd370-2989-11f0-8876-6f29f2a860cb","responseTime":32,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.854722,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"f12c8352f0bc0fe3131fcd7d75fd9a75","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433010,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxMH0.12j75JzGBQKIL3_VqoVYijf6YNxM5aUfMCr8sS9LhuY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f12c8352f0bc0fe3131fcd7d75fd9a75","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b411852-5ad8-4e7f-a154-efeb048637d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b411852-5ad8-4e7f-a154-efeb048637d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:47.566854214Z"}]},"request_id":"b83e4cf8-da63-468c-aeb7-59358d404da5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433010.2543201} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f12c8352f0bc0fe3131fcd7d75fd9a75","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"1ae948de-bdc9-497f-95d4-f32e44e8972c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433010.2555118} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a2da5e51-ba53-4ae5-af03-f9b69954245f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433010.2561028} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"4b7bd370-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f12c8352f0bc0fe3131fcd7d75fd9a75"} gateway-1 | {"time_local":"05/May/2025:08:16:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7b411852-5ad8-4e7f-a154-efeb048637d7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f12c8352f0bc0fe3131fcd7d75fd9a75"} device-1 | {"level":"info","message":"GET /devices/7b411852-5ad8-4e7f-a154-efeb048637d7? 200 13ms","method":"GET","requestID":"f12c8352f0bc0fe3131fcd7d75fd9a75","responseTime":13,"status":200,"url":"/devices/7b411852-5ad8-4e7f-a154-efeb048637d7?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"4b7bd370-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"4b7bd370-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/721d3096-3a8e-426f-99fb-311d28f0ebf8'","requestID":"4b7bd370-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/721d3096-3a8e-426f-99fb-311d28f0ebf8'","requestID":"4b7bd370-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"4b7bd370-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 81ms","method":"POST","requestID":"4b7bd370-2989-11f0-8876-6f29f2a860cb","responseTime":81,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"4b7bd370-2989-11f0-8876-6f29f2a860cb"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/721d3096-3a8e-426f-99fb-311d28f0ebf8","device":"7b411852-5ad8-4e7f-a154-efeb048637d7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"72b104729a211bf7e66f38777fa9a05a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4b9045d0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8689e2-bcb6-4535-af10-69c0c373e2f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f164dd56-d19c-4bf2-a83c-9468cc399fbf","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433010.35367} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.83586,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4b9045d0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4b9045d0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4b9045d0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6/signaling 200 11ms","method":"POST","requestID":"4b9045d0-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6/signaling"} device-1 | {"device":"7b411852-5ad8-4e7f-a154-efeb048637d7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"7b411852-5ad8-4e7f-a154-efeb048637d7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4b961230-2989-11f0-8876-6f29f2a860cb"} device-1 | {"content":{"sdp":"v=0\r\no=- 5415877518885268514 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:IG1h\r\na=ice-pwd:IpfJt1eXuMq/n3V8jVv8otkK\r\na=ice-options:trickle\r\na=fingerprint:sha-256 55:12:15:5F:7E:6B:74:D8:3A:77:FF:B8:5B:EF:CA:E7:00:82:36:DA:81:14:2F:D8:2E:6F:FC:AD:3C:DC:43:9D\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"7b411852-5ad8-4e7f-a154-efeb048637d7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b411852-5ad8-4e7f-a154-efeb048637d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bfe80c39-5bde-4df9-8bf1-5041de7a66c8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433010.3921745} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.517613,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4b961230-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4b961230-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4b961230-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/7b411852-5ad8-4e7f-a154-efeb048637d7/signaling 200 8ms","method":"POST","requestID":"4b961230-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/7b411852-5ad8-4e7f-a154-efeb048637d7/signaling"} device-1 | {"device":"7b411852-5ad8-4e7f-a154-efeb048637d7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"5b8689e2-bcb6-4535-af10-69c0c373e2f6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"721d3096-3a8e-426f-99fb-311d28f0ebf8","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5b8689e2-bcb6-4535-af10-69c0c373e2f6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5b8689e2-bcb6-4535-af10-69c0c373e2f6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5b8689e2-bcb6-4535-af10-69c0c373e2f6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5b8689e2-bcb6-4535-af10-69c0c373e2f6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/721d3096-3a8e-426f-99fb-311d28f0ebf8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"721d3096-3a8e-426f-99fb-311d28f0ebf8","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c0be1f11cbb7abff81ade22a6beb61f0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c0be1f11cbb7abff81ade22a6beb61f0","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/721d3096-3a8e-426f-99fb-311d28f0ebf8"}}},"level":"info","message":"received a callback","requestID":"c0be1f11cbb7abff81ade22a6beb61f0"} device-1 | {"content":{"candidate":"candidate:1236000287 1 udp 2113937151 6b3216da-cb52-4cec-8a3a-2a4ecbf2f0ed.local 49138 typ host generation 0 ufrag IG1h network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7b411852-5ad8-4e7f-a154-efeb048637d7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"7b411852-5ad8-4e7f-a154-efeb048637d7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"c0be1f11cbb7abff81ade22a6beb61f0","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"c0be1f11cbb7abff81ade22a6beb61f0"} device-1 | {"device":"5b8689e2-bcb6-4535-af10-69c0c373e2f6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7b411852-5ad8-4e7f-a154-efeb048637d7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"5b8689e2-bcb6-4535-af10-69c0c373e2f6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"721d3096-3a8e-426f-99fb-311d28f0ebf8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"721d3096-3a8e-426f-99fb-311d28f0ebf8","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/721d3096-3a8e-426f-99fb-311d28f0ebf8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"721d3096-3a8e-426f-99fb-311d28f0ebf8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c8582d0137811319de54b2126ce3c71b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c8582d0137811319de54b2126ce3c71b","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/721d3096-3a8e-426f-99fb-311d28f0ebf8"}}},"level":"info","message":"received a callback","requestID":"c8582d0137811319de54b2126ce3c71b"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"4cca2560-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:52Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F721d3096-3a8e-426f-99fb-311d28f0ebf8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"298bc70e-89e3-4a64-b9e9-78dc900a8c45","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433012.4104269} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.331494,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/721d3096-3a8e-426f-99fb-311d28f0ebf8","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4cca2560-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/721d3096-3a8e-426f-99fb-311d28f0ebf8","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4cca2560-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"4cca2560-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/721d3096-3a8e-426f-99fb-311d28f0ebf8 200 8ms","method":"GET","requestID":"4cca2560-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/peerconnections/721d3096-3a8e-426f-99fb-311d28f0ebf8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 79ms","method":"POST","requestID":"c8582d0137811319de54b2126ce3c71b","responseTime":79,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.082","http_referrer":"","http_user_agent":"node-fetch","requestID":"c8582d0137811319de54b2126ce3c71b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4cd214a0-2989-11f0-8876-6f29f2a860cb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxMn0.j8Fat77qTZoSMVqglunbEcQwU-AkiJuKbrlza4fGYOs","level":"info","message":"auth send jwt","requestID":"2cc87d932e252b8e2519053bac684c18"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2cc87d932e252b8e2519053bac684c18","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:52Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb","requestID":"2cc87d932e252b8e2519053bac684c18"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8689e2-bcb6-4535-af10-69c0c373e2f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e64c8c1-ee33-47fd-b4e2-417cda7586f8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433012.4622297} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:52Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.624904,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:52Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.642817,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4cd214a0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4cd214a0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2cc87d932e252b8e2519053bac684c18","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433012,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxMn0.j8Fat77qTZoSMVqglunbEcQwU-AkiJuKbrlza4fGYOs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2cc87d932e252b8e2519053bac684c18","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4cd214a0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6/signaling 200 8ms","method":"POST","requestID":"4cd214a0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4cd39b40-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb","requestID":"2cc87d932e252b8e2519053bac684c18"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:52Z"} gateway-1 | {"time_local":"05/May/2025:08:16:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2cc87d932e252b8e2519053bac684c18"} experiment-1 | {"level":"info","message":"GET /experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb 200 11ms","method":"GET","requestID":"2cc87d932e252b8e2519053bac684c18","responseTime":11,"status":200,"url":"/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b411852-5ad8-4e7f-a154-efeb048637d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"93a829f4-f247-43e6-a21f-5bd67cbb2b45","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433012.4735775} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.7238,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4cd39b40-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4cd39b40-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4cd39b40-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/7b411852-5ad8-4e7f-a154-efeb048637d7/signaling 200 33ms","method":"POST","requestID":"4cd39b40-2989-11f0-8876-6f29f2a860cb","responseTime":33,"status":200,"url":"/devices/7b411852-5ad8-4e7f-a154-efeb048637d7/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxMn0.j8Fat77qTZoSMVqglunbEcQwU-AkiJuKbrlza4fGYOs","level":"info","message":"auth send jwt","requestID":"0e8f7deb75084dc6e0c7d74ecf9a2759"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0e8f7deb75084dc6e0c7d74ecf9a2759","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb","requestID":"0e8f7deb75084dc6e0c7d74ecf9a2759"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:52Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.734149,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"0e8f7deb75084dc6e0c7d74ecf9a2759","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433012,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxMn0.j8Fat77qTZoSMVqglunbEcQwU-AkiJuKbrlza4fGYOs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0e8f7deb75084dc6e0c7d74ecf9a2759","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb"},"level":"info","message":"Attempting to finish experiment","requestID":"0e8f7deb75084dc6e0c7d74ecf9a2759"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"4cda2af0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:52Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.688973,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/721d3096-3a8e-426f-99fb-311d28f0ebf8","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4cda2af0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/721d3096-3a8e-426f-99fb-311d28f0ebf8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433012,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxMn0.j8Fat77qTZoSMVqglunbEcQwU-AkiJuKbrlza4fGYOs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4cda2af0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/721d3096-3a8e-426f-99fb-311d28f0ebf8","device":"7b411852-5ad8-4e7f-a154-efeb048637d7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"5b8689e2-bcb6-4535-af10-69c0c373e2f6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5b8689e2-bcb6-4535-af10-69c0c373e2f6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5b8689e2-bcb6-4535-af10-69c0c373e2f6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/721d3096-3a8e-426f-99fb-311d28f0ebf8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/721d3096-3a8e-426f-99fb-311d28f0ebf8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"721d3096-3a8e-426f-99fb-311d28f0ebf8","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F721d3096-3a8e-426f-99fb-311d28f0ebf8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F721d3096-3a8e-426f-99fb-311d28f0ebf8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"f61aeddb-cf21-49da-8b6f-fa8b2d9c34d8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433012.5494063} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee903d78-b56d-4fc5-8760-705958304e1a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433012.5495918} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"44128e2aa428a2f42a692e5ed9ce7cd5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"44128e2aa428a2f42a692e5ed9ce7cd5","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8818f790cba4b775457823adc1f13c84","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/721d3096-3a8e-426f-99fb-311d28f0ebf8"}}},"level":"info","message":"received a callback","requestID":"44128e2aa428a2f42a692e5ed9ce7cd5"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"4cda2af0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"8818f790cba4b775457823adc1f13c84","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/721d3096-3a8e-426f-99fb-311d28f0ebf8"}}},"level":"info","message":"received a callback","requestID":"8818f790cba4b775457823adc1f13c84"} device-1 | {"data":{"peerconnection":"721d3096-3a8e-426f-99fb-311d28f0ebf8","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"4cda2af0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/721d3096-3a8e-426f-99fb-311d28f0ebf8 204 92ms","method":"DELETE","requestID":"4cda2af0-2989-11f0-8876-6f29f2a860cb","responseTime":92,"status":204,"url":"/peerconnections/721d3096-3a8e-426f-99fb-311d28f0ebf8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb"},"level":"info","message":"Successfully finished experiment","requestID":"0e8f7deb75084dc6e0c7d74ecf9a2759"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4cea3080-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:52Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b8689e2-bcb6-4535-af10-69c0c373e2f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cd9e6727-74cd-4fda-b5d9-2423891ff78e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433012.6448207} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.778893,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4cea3080-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4cea3080-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4cea3080-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6/signaling 200 36ms","method":"POST","requestID":"4cea3080-2989-11f0-8876-6f29f2a860cb","responseTime":36,"status":200,"url":"/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6/signaling"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F297ba078-c129-4ce6-a9e7-adbba55b92bb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F297ba078-c129-4ce6-a9e7-adbba55b92bb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"5924b25a-a5d2-4a60-a7d3-1636027a5c4a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433012.6514974} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b98432cd-1743-451b-8eed-2eb609541cad","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433012.6517568} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"0e8f7deb75084dc6e0c7d74ecf9a2759","responseTime":39,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4ceffce0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:52Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b411852-5ad8-4e7f-a154-efeb048637d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4ec1f987-1a49-4029-81a9-815e751c86ef","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433012.6592693} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.468307,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4ceffce0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4ceffce0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4ceffce0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/7b411852-5ad8-4e7f-a154-efeb048637d7/signaling 200 36ms","method":"POST","requestID":"4ceffce0-2989-11f0-8876-6f29f2a860cb","responseTime":36,"status":200,"url":"/devices/7b411852-5ad8-4e7f-a154-efeb048637d7/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb","requestID":"0e8f7deb75084dc6e0c7d74ecf9a2759"} gateway-1 | {"time_local":"05/May/2025:08:16:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.258","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e8f7deb75084dc6e0c7d74ecf9a2759"} experiment-1 | {"level":"info","message":"DELETE /experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb 204 228ms","method":"DELETE","requestID":"0e8f7deb75084dc6e0c7d74ecf9a2759","responseTime":228,"status":204,"url":"/experiments/297ba078-c129-4ce6-a9e7-adbba55b92bb"} gateway-1 | {"time_local":"05/May/2025:08:16:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2580","request_time":"4.167","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"72e36a4e0a220c11aa7d96640005873c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 182ms","method":"POST","requestID":"44128e2aa428a2f42a692e5ed9ce7cd5","responseTime":182,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.184","http_referrer":"","http_user_agent":"node-fetch","requestID":"44128e2aa428a2f42a692e5ed9ce7cd5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 182ms","method":"POST","requestID":"8818f790cba4b775457823adc1f13c84","responseTime":182,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.184","http_referrer":"","http_user_agent":"node-fetch","requestID":"8818f790cba4b775457823adc1f13c84"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5b8689e2-bcb6-4535-af10-69c0c373e2f6' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxMn0.j8Fat77qTZoSMVqglunbEcQwU-AkiJuKbrlza4fGYOs","level":"info","message":"auth send jwt","requestID":"023eb266dc6fd1d8bf27214b8781b2ed"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"023eb266dc6fd1d8bf27214b8781b2ed","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"023eb266dc6fd1d8bf27214b8781b2ed"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:52Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.901135,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:52Z"} gateway-1 | {"time_local":"05/May/2025:08:16:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2782","request_time":"2.880","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e295b0ff10a9a521d5b62dd079004ac0"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"023eb266dc6fd1d8bf27214b8781b2ed","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433012,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxMn0.j8Fat77qTZoSMVqglunbEcQwU-AkiJuKbrlza4fGYOs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"023eb266dc6fd1d8bf27214b8781b2ed","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7b411852-5ad8-4e7f-a154-efeb048637d7' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4cd469-2d77-4603-9263-bb145c91103d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9b582a1d-083a-43b2-bc17-2f700337fb52","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433012.7612178} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"023eb266dc6fd1d8bf27214b8781b2ed","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bc175870-2066-40e5-9317-f85f7f666ef8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433012.7833793} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"023eb266dc6fd1d8bf27214b8781b2ed","responseTime":22,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4cd469-2d77-4603-9263-bb145c91103d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"78a8ef99-1508-4a69-a19e-1017e91e3502","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433012.7928596} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"12743ef0-58b0-4299-b8c2-c6e335e45958","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433012.79308} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"023eb266dc6fd1d8bf27214b8781b2ed","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4cd469-2d77-4603-9263-bb145c91103d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4cd469-2d77-4603-9263-bb145c91103d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:52.792822853Z"}]},"request_id":"67dac8cf-a3fb-4947-9101-3d91ae7e2f30","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433012.7969847} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"023eb266dc6fd1d8bf27214b8781b2ed","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"023eb266dc6fd1d8bf27214b8781b2ed"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"023eb266dc6fd1d8bf27214b8781b2ed","responseTime":62,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"05/May/2025:08:16:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"023eb266dc6fd1d8bf27214b8781b2ed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxMn0.j8Fat77qTZoSMVqglunbEcQwU-AkiJuKbrlza4fGYOs","level":"info","message":"auth send jwt","requestID":"0b1bd44bd08371926a91beb09214fc75"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0b1bd44bd08371926a91beb09214fc75","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0b1bd44bd08371926a91beb09214fc75"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:52Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.734133,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"0b1bd44bd08371926a91beb09214fc75","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433012,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxMn0.j8Fat77qTZoSMVqglunbEcQwU-AkiJuKbrlza4fGYOs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0b1bd44bd08371926a91beb09214fc75","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F325e40d1-4c2c-4da0-87a0-6e8bfefa9728","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a8a88e3b-703b-46f9-8cf5-b676280c10e8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433012.8435302} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0b1bd44bd08371926a91beb09214fc75","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d28b90f7-527a-4e26-a6ef-6aecf451f8e6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433012.8473034} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0b1bd44bd08371926a91beb09214fc75","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F325e40d1-4c2c-4da0-87a0-6e8bfefa9728","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"ab5a1b0a-456b-44df-9b31-685823434669","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433012.8567328} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2efd084b-dc45-4828-a2c1-20797f50ac1f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433012.8570101} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"0b1bd44bd08371926a91beb09214fc75","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F325e40d1-4c2c-4da0-87a0-6e8bfefa9728","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F325e40d1-4c2c-4da0-87a0-6e8bfefa9728","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:52.856702608Z"}]},"request_id":"c52dfc5f-af13-4b69-bae2-2bcee424e845","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433012.8853257} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"0b1bd44bd08371926a91beb09214fc75","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0b1bd44bd08371926a91beb09214fc75"} device-1 | {"level":"info","message":"POST /devices? 201 84ms","method":"POST","requestID":"0b1bd44bd08371926a91beb09214fc75","responseTime":84,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"05/May/2025:08:16:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.088","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b1bd44bd08371926a91beb09214fc75"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxM30.33QLRQyTGUADXQw0uy47hABHKWl57lrichJ299rQE0g","level":"info","message":"auth send jwt","requestID":"2aac97a189a3217127e6c04837dfddc1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2aac97a189a3217127e6c04837dfddc1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2aac97a189a3217127e6c04837dfddc1"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:53Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.719519,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2aac97a189a3217127e6c04837dfddc1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433013,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxM30.33QLRQyTGUADXQw0uy47hABHKWl57lrichJ299rQE0g"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2aac97a189a3217127e6c04837dfddc1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4cd469-2d77-4603-9263-bb145c91103d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4cd469-2d77-4603-9263-bb145c91103d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:52.792822853Z"}]},"request_id":"ed16d9aa-7a87-40c3-ad42-a7fe21da44ef","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433013.7674363} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2aac97a189a3217127e6c04837dfddc1","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"495d01d4-c3ae-4cb8-b544-7aabf90fd1ee","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433013.796655} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"2aac97a189a3217127e6c04837dfddc1","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4cd469-2d77-4603-9263-bb145c91103d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4cd469-2d77-4603-9263-bb145c91103d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:52.792822853Z"}]},"request_id":"113e785e-786d-4fa7-9647-b52ac19186c2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433013.8107262} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2aac97a189a3217127e6c04837dfddc1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2aac97a189a3217127e6c04837dfddc1"} device-1 | {"level":"info","message":"PATCH /devices/4c4cd469-2d77-4603-9263-bb145c91103d 200 54ms","method":"PATCH","requestID":"2aac97a189a3217127e6c04837dfddc1","responseTime":54,"status":200,"url":"/devices/4c4cd469-2d77-4603-9263-bb145c91103d"} gateway-1 | {"time_local":"05/May/2025:08:16:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4c4cd469-2d77-4603-9263-bb145c91103d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.058","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"2aac97a189a3217127e6c04837dfddc1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxM30.33QLRQyTGUADXQw0uy47hABHKWl57lrichJ299rQE0g","level":"info","message":"auth send jwt","requestID":"35ca87b3423b3f5fce6abd0a44229fae"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"35ca87b3423b3f5fce6abd0a44229fae","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"35ca87b3423b3f5fce6abd0a44229fae"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:53Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.710316,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"35ca87b3423b3f5fce6abd0a44229fae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433013,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxM30.33QLRQyTGUADXQw0uy47hABHKWl57lrichJ299rQE0g"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"35ca87b3423b3f5fce6abd0a44229fae","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"35ca87b3423b3f5fce6abd0a44229fae"} device-1 | {"level":"info","message":"POST /devices/4c4cd469-2d77-4603-9263-bb145c91103d/websocket 200 38ms","method":"POST","requestID":"35ca87b3423b3f5fce6abd0a44229fae","responseTime":38,"status":200,"url":"/devices/4c4cd469-2d77-4603-9263-bb145c91103d/websocket"} gateway-1 | {"time_local":"05/May/2025:08:16:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4c4cd469-2d77-4603-9263-bb145c91103d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"35ca87b3423b3f5fce6abd0a44229fae"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3037e4a996db2023a0ab4770b54cfc03","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3037e4a996db2023a0ab4770b54cfc03","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:16:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3037e4a996db2023a0ab4770b54cfc03"} device-1 | {"level":"info","message":"OPTIONS /devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728/websocket 200 1ms","method":"OPTIONS","requestID":"3037e4a996db2023a0ab4770b54cfc03","responseTime":1,"status":200,"url":"/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxNX0.1ZHnB95sV9-VTQa8bhs-83xLvqbLf7MUxRwQJ4c1TaM","level":"info","message":"auth send jwt","requestID":"32146696cbab91eb7222bdbd9db2833a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"32146696cbab91eb7222bdbd9db2833a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"32146696cbab91eb7222bdbd9db2833a"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.227955,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"32146696cbab91eb7222bdbd9db2833a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433015,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxNX0.1ZHnB95sV9-VTQa8bhs-83xLvqbLf7MUxRwQJ4c1TaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"32146696cbab91eb7222bdbd9db2833a","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"32146696cbab91eb7222bdbd9db2833a"} device-1 | {"level":"info","message":"POST /devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728/websocket 200 36ms","method":"POST","requestID":"32146696cbab91eb7222bdbd9db2833a","responseTime":36,"status":200,"url":"/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728/websocket"} gateway-1 | {"time_local":"05/May/2025:08:16:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.040","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"32146696cbab91eb7222bdbd9db2833a"} device-1 | {"level":"info","message":"device 'http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxNX0.1ZHnB95sV9-VTQa8bhs-83xLvqbLf7MUxRwQJ4c1TaM","level":"info","message":"auth send jwt","requestID":"e5e9d68a300b58c01d8d3d7e52fd0cc2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e5e9d68a300b58c01d8d3d7e52fd0cc2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e5e9d68a300b58c01d8d3d7e52fd0cc2"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.126937,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"e5e9d68a300b58c01d8d3d7e52fd0cc2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433015,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxNX0.1ZHnB95sV9-VTQa8bhs-83xLvqbLf7MUxRwQJ4c1TaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e5e9d68a300b58c01d8d3d7e52fd0cc2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4cd469-2d77-4603-9263-bb145c91103d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4cd469-2d77-4603-9263-bb145c91103d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:52.792822853Z"}]},"request_id":"fb6ceeb6-96d8-4fc1-82c3-2fc9952536ac","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433015.2857208} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e5e9d68a300b58c01d8d3d7e52fd0cc2","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e5e9d68a300b58c01d8d3d7e52fd0cc2"} device-1 | {"level":"info","message":"GET /devices/4c4cd469-2d77-4603-9263-bb145c91103d? 200 13ms","method":"GET","requestID":"e5e9d68a300b58c01d8d3d7e52fd0cc2","responseTime":13,"status":200,"url":"/devices/4c4cd469-2d77-4603-9263-bb145c91103d?"} gateway-1 | {"time_local":"05/May/2025:08:16:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4c4cd469-2d77-4603-9263-bb145c91103d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e5e9d68a300b58c01d8d3d7e52fd0cc2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxNX0.1ZHnB95sV9-VTQa8bhs-83xLvqbLf7MUxRwQJ4c1TaM","level":"info","message":"auth send jwt","requestID":"cdd683c251b8d4d8c442ed51f42a721b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cdd683c251b8d4d8c442ed51f42a721b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cdd683c251b8d4d8c442ed51f42a721b"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.069632,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"cdd683c251b8d4d8c442ed51f42a721b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433015,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxNX0.1ZHnB95sV9-VTQa8bhs-83xLvqbLf7MUxRwQJ4c1TaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cdd683c251b8d4d8c442ed51f42a721b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F325e40d1-4c2c-4da0-87a0-6e8bfefa9728","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F325e40d1-4c2c-4da0-87a0-6e8bfefa9728","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:52.856702608Z"}]},"request_id":"74630bb0-e2c5-4ee9-9811-299c8a7fd723","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433015.3056123} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cdd683c251b8d4d8c442ed51f42a721b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cdd683c251b8d4d8c442ed51f42a721b"} gateway-1 | {"time_local":"05/May/2025:08:16:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cdd683c251b8d4d8c442ed51f42a721b"} device-1 | {"level":"info","message":"GET /devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728? 200 11ms","method":"GET","requestID":"cdd683c251b8d4d8c442ed51f42a721b","responseTime":11,"status":200,"url":"/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxNX0.1ZHnB95sV9-VTQa8bhs-83xLvqbLf7MUxRwQJ4c1TaM","level":"info","message":"auth send jwt","requestID":"ef0f376300494b615b395288bd638d65"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ef0f376300494b615b395288bd638d65","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"ef0f376300494b615b395288bd638d65"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.003432,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"ef0f376300494b615b395288bd638d65","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433015,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxNX0.1ZHnB95sV9-VTQa8bhs-83xLvqbLf7MUxRwQJ4c1TaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ef0f376300494b615b395288bd638d65","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257"},"level":"info","message":"Attempting to run experiment","requestID":"ef0f376300494b615b395288bd638d65"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257"},"level":"info","message":"Attempting to book experiment","requestID":"ef0f376300494b615b395288bd638d65"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257"},"level":"info","message":"Successfully booked experiment","requestID":"ef0f376300494b615b395288bd638d65"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4e8c20b0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4e8c47c0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.138269,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4e8c20b0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433015,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxNX0.1ZHnB95sV9-VTQa8bhs-83xLvqbLf7MUxRwQJ4c1TaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4e8c20b0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.753307,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4e8c47c0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433015,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxNX0.1ZHnB95sV9-VTQa8bhs-83xLvqbLf7MUxRwQJ4c1TaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4e8c47c0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4cd469-2d77-4603-9263-bb145c91103d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4cd469-2d77-4603-9263-bb145c91103d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:52.792822853Z"}]},"request_id":"3c4bd463-fcee-4513-a224-6bab0cdca008","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433015.3627872} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4e8c20b0-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F325e40d1-4c2c-4da0-87a0-6e8bfefa9728","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F325e40d1-4c2c-4da0-87a0-6e8bfefa9728","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:52.856702608Z"}]},"request_id":"ef3a41fa-15c2-4c81-b6c9-ee3eb17dabb1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433015.3632636} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4e8c47c0-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257"},"level":"info","message":"Setting up experiment","requestID":"ef0f376300494b615b395288bd638d65"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4e8c20b0-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"ef0f376300494b615b395288bd638d65"} device-1 | {"level":"info","message":"GET /devices/4c4cd469-2d77-4603-9263-bb145c91103d? 200 11ms","method":"GET","requestID":"4e8c20b0-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/4c4cd469-2d77-4603-9263-bb145c91103d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4e8c47c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728? 200 11ms","method":"GET","requestID":"4e8c47c0-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257"},"level":"info","message":"Successfully locked booking for experiment","requestID":"ef0f376300494b615b395288bd638d65"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"ef0f376300494b615b395288bd638d65"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"ef0f376300494b615b395288bd638d65"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257"},"level":"info","message":"Attempting to update booking for experiment","requestID":"ef0f376300494b615b395288bd638d65"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257"},"level":"info","message":"Successfully updated booking for experiment","requestID":"ef0f376300494b615b395288bd638d65"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257"},"level":"info","message":"Successfully set up experiment","requestID":"ef0f376300494b615b395288bd638d65"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4e982ea0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4e9855b0-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257"},"level":"info","message":"Successfully running experiment","requestID":"ef0f376300494b615b395288bd638d65"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4e98a3d0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.793094,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4e982ea0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433015,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxNX0.1ZHnB95sV9-VTQa8bhs-83xLvqbLf7MUxRwQJ4c1TaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4e982ea0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.686386,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4e9855b0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433015,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxNX0.1ZHnB95sV9-VTQa8bhs-83xLvqbLf7MUxRwQJ4c1TaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4e9855b0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4cd469-2d77-4603-9263-bb145c91103d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"783f8035-9047-4cf7-94bd-4f2b4de53f14","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433015.4441986} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.604229,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4e98a3d0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4e98a3d0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4cd469-2d77-4603-9263-bb145c91103d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4cd469-2d77-4603-9263-bb145c91103d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:52.792822853Z"}]},"request_id":"54d0afee-6cbe-4fee-8801-7af20a07b6ce","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433015.4453263} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F325e40d1-4c2c-4da0-87a0-6e8bfefa9728","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F325e40d1-4c2c-4da0-87a0-6e8bfefa9728","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:52.856702608Z"}]},"request_id":"c06842f0-3d97-4e29-b123-eba43d92996a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433015.446414} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4e982ea0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4e9855b0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4e98a3d0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/4c4cd469-2d77-4603-9263-bb145c91103d/signaling 200 38ms","method":"POST","requestID":"4e98a3d0-2989-11f0-8876-6f29f2a860cb","responseTime":38,"status":200,"url":"/devices/4c4cd469-2d77-4603-9263-bb145c91103d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4e982ea0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/4c4cd469-2d77-4603-9263-bb145c91103d? 200 42ms","method":"GET","requestID":"4e982ea0-2989-11f0-8876-6f29f2a860cb","responseTime":42,"status":200,"url":"/devices/4c4cd469-2d77-4603-9263-bb145c91103d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4e9855b0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728? 200 41ms","method":"GET","requestID":"4e9855b0-2989-11f0-8876-6f29f2a860cb","responseTime":41,"status":200,"url":"/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4e9ebe50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4e9ee560-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F325e40d1-4c2c-4da0-87a0-6e8bfefa9728","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"03cf40af-cae6-478a-aaf8-d30b1bda060d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433015.4810557} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ee3ada2-f642-41ad-9d2e-f29870ed1257#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ee3ada2-f642-41ad-9d2e-f29870ed1257","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"0b5df3bd-f47a-4dbb-8d1d-f9bb4de9dca1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433015.4813576} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a87e0b5-29e3-47bd-85f9-fb70ea90b0bc","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433015.4815564} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.296984,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4e9ebe50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4e9ebe50-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","method":"POST","requestID":"ef0f376300494b615b395288bd638d65","responseTime":44,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4cd469-2d77-4603-9263-bb145c91103d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc29a6e2-6e10-4718-8771-e52bcba8b060","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433015.4836864} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.225284,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4e9ee560-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4e9ee560-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4e9ebe50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728/signaling 200 9ms","method":"POST","requestID":"4e9ebe50-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4e9ee560-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/4c4cd469-2d77-4603-9263-bb145c91103d/signaling 200 11ms","method":"POST","requestID":"4e9ee560-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/4c4cd469-2d77-4603-9263-bb145c91103d/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"ef0f376300494b615b395288bd638d65"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4ea0e130-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"level":"info","message":"POST /experiments? 201 179ms","method":"POST","requestID":"ef0f376300494b615b395288bd638d65","responseTime":179,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"05/May/2025:08:16:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ef0f376300494b615b395288bd638d65"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F325e40d1-4c2c-4da0-87a0-6e8bfefa9728","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3b24c506-a15d-42b7-b26c-c9964169890e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433015.4953096} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.284489,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:55Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxNX0.1ZHnB95sV9-VTQa8bhs-83xLvqbLf7MUxRwQJ4c1TaM","level":"info","message":"auth send jwt","requestID":"21c3181363ede85783719bf8ae23eaec"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"21c3181363ede85783719bf8ae23eaec","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"21c3181363ede85783719bf8ae23eaec"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4ea0e130-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"4ea0e130-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4ea0e130-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728/signaling 200 35ms","method":"POST","requestID":"4ea0e130-2989-11f0-8876-6f29f2a860cb","responseTime":35,"status":200,"url":"/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728/signaling"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.837235,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:55Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"ef0f376300494b615b395288bd638d65"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257"},"level":"info","message":"Building connection plan","requestID":"ef0f376300494b615b395288bd638d65"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"78f186f4-db5f-4a5c-a648-026143100ec7"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"bc835ec1-7d73-4951-9ffb-1216ce2cde46"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"2c57ea8b-29be-4435-b918-f9c43ef78c70"}]},"level":"info","message":"Built pairwise service configurations","requestID":"ef0f376300494b615b395288bd638d65"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"21c3181363ede85783719bf8ae23eaec","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433015,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxNX0.1ZHnB95sV9-VTQa8bhs-83xLvqbLf7MUxRwQJ4c1TaM"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"ef0f376300494b615b395288bd638d65"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"4ea6d4a0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"21c3181363ede85783719bf8ae23eaec","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4cd469-2d77-4603-9263-bb145c91103d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4cd469-2d77-4603-9263-bb145c91103d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:52.792822853Z"}]},"request_id":"dff72939-c3dc-4fab-aa26-dda31075d869","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433015.5340705} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"21c3181363ede85783719bf8ae23eaec","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.931565,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4ea6d4a0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433015,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxNX0.1ZHnB95sV9-VTQa8bhs-83xLvqbLf7MUxRwQJ4c1TaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4ea6d4a0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"21c3181363ede85783719bf8ae23eaec"} gateway-1 | {"time_local":"05/May/2025:08:16:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4c4cd469-2d77-4603-9263-bb145c91103d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"21c3181363ede85783719bf8ae23eaec"} device-1 | {"level":"info","message":"GET /devices/4c4cd469-2d77-4603-9263-bb145c91103d? 200 40ms","method":"GET","requestID":"21c3181363ede85783719bf8ae23eaec","responseTime":40,"status":200,"url":"/devices/4c4cd469-2d77-4603-9263-bb145c91103d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxNX0.1ZHnB95sV9-VTQa8bhs-83xLvqbLf7MUxRwQJ4c1TaM","level":"info","message":"auth send jwt","requestID":"b7c547d9bddb97cc39ff7c5a7713d6bb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b7c547d9bddb97cc39ff7c5a7713d6bb","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b7c547d9bddb97cc39ff7c5a7713d6bb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"8e8b614f-70a7-4d2d-97f8-13f1bc7fcccb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433015.5693123} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ea46344-6bba-41dc-bd12-34e78eab36a4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433015.5694308} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"4ea6d4a0-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.609786,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"b7c547d9bddb97cc39ff7c5a7713d6bb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433015,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxNX0.1ZHnB95sV9-VTQa8bhs-83xLvqbLf7MUxRwQJ4c1TaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"b7c547d9bddb97cc39ff7c5a7713d6bb","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F325e40d1-4c2c-4da0-87a0-6e8bfefa9728","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F325e40d1-4c2c-4da0-87a0-6e8bfefa9728","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:52.856702608Z"}]},"request_id":"e9a81bff-57ad-4a27-ad67-8871340963af","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433015.5760038} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b7c547d9bddb97cc39ff7c5a7713d6bb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"4ea6d4a0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"4ea6d4a0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/596328c0-e9c2-444d-ad26-ebfe07f2bcb0'","requestID":"4ea6d4a0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/596328c0-e9c2-444d-ad26-ebfe07f2bcb0'","requestID":"4ea6d4a0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"4ea6d4a0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 95ms","method":"POST","requestID":"4ea6d4a0-2989-11f0-8876-6f29f2a860cb","responseTime":95,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b7c547d9bddb97cc39ff7c5a7713d6bb"} gateway-1 | {"time_local":"05/May/2025:08:16:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.086","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b7c547d9bddb97cc39ff7c5a7713d6bb"} device-1 | {"level":"info","message":"GET /devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728? 200 82ms","method":"GET","requestID":"b7c547d9bddb97cc39ff7c5a7713d6bb","responseTime":82,"status":200,"url":"/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"4ea6d4a0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/596328c0-e9c2-444d-ad26-ebfe07f2bcb0","device":"325e40d1-4c2c-4da0-87a0-6e8bfefa9728","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"ef0f376300494b615b395288bd638d65"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4eba83b0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4cd469-2d77-4603-9263-bb145c91103d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8fde0623-3d3c-41b6-b57f-a68bfeb9f6d3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433015.6634486} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.862675,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4eba83b0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4eba83b0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4eba83b0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/4c4cd469-2d77-4603-9263-bb145c91103d/signaling 200 8ms","method":"POST","requestID":"4eba83b0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/4c4cd469-2d77-4603-9263-bb145c91103d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4ebc0a50-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:55Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F325e40d1-4c2c-4da0-87a0-6e8bfefa9728","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ef045bb-9514-4e24-80a2-bd5df7eac47a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433015.67371} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.571127,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:55Z"} device-1 | {"device":"325e40d1-4c2c-4da0-87a0-6e8bfefa9728","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"325e40d1-4c2c-4da0-87a0-6e8bfefa9728","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4ebc0a50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4ebc0a50-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 7618512629383638405 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:1e19\r\na=ice-pwd:TlmCz5iAIBMEixfTXTUl7QJ9\r\na=ice-options:trickle\r\na=fingerprint:sha-256 FA:54:9F:F3:52:CE:50:89:2F:54:BA:E1:21:17:6D:60:0A:56:FC:68:F6:03:A6:20:FE:57:7E:49:6A:CC:E2:76\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"325e40d1-4c2c-4da0-87a0-6e8bfefa9728","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4ebc0a50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728/signaling 200 12ms","method":"POST","requestID":"4ebc0a50-2989-11f0-8876-6f29f2a860cb","responseTime":12,"status":200,"url":"/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728'"} device-1 | {"device":"325e40d1-4c2c-4da0-87a0-6e8bfefa9728","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"4c4cd469-2d77-4603-9263-bb145c91103d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"596328c0-e9c2-444d-ad26-ebfe07f2bcb0","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4c4cd469-2d77-4603-9263-bb145c91103d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4c4cd469-2d77-4603-9263-bb145c91103d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4c4cd469-2d77-4603-9263-bb145c91103d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4c4cd469-2d77-4603-9263-bb145c91103d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/596328c0-e9c2-444d-ad26-ebfe07f2bcb0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"596328c0-e9c2-444d-ad26-ebfe07f2bcb0","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b40461a7923ff4329b0acf83508a4d08","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b40461a7923ff4329b0acf83508a4d08","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/596328c0-e9c2-444d-ad26-ebfe07f2bcb0"}}},"level":"info","message":"received a callback","requestID":"b40461a7923ff4329b0acf83508a4d08"} device-1 | {"content":{"candidate":"candidate:648325795 1 udp 2113937151 fa9316fa-98e8-44a1-8d15-c4cdca53cf87.local 42625 typ host generation 0 ufrag 1e19 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"325e40d1-4c2c-4da0-87a0-6e8bfefa9728","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"325e40d1-4c2c-4da0-87a0-6e8bfefa9728","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"b40461a7923ff4329b0acf83508a4d08","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"b40461a7923ff4329b0acf83508a4d08"} device-1 | {"device":"4c4cd469-2d77-4603-9263-bb145c91103d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"325e40d1-4c2c-4da0-87a0-6e8bfefa9728","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"4c4cd469-2d77-4603-9263-bb145c91103d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"596328c0-e9c2-444d-ad26-ebfe07f2bcb0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"596328c0-e9c2-444d-ad26-ebfe07f2bcb0","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/596328c0-e9c2-444d-ad26-ebfe07f2bcb0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"596328c0-e9c2-444d-ad26-ebfe07f2bcb0","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fdacc46e40e23ab55860791f0936b195","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"fdacc46e40e23ab55860791f0936b195","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/596328c0-e9c2-444d-ad26-ebfe07f2bcb0"}}},"level":"info","message":"received a callback","requestID":"fdacc46e40e23ab55860791f0936b195"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"4ff46340-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:57Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F596328c0-e9c2-444d-ad26-ebfe07f2bcb0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cca20a94-40d3-4b2c-b3dc-63aef377be72","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433017.720309} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.68929,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/596328c0-e9c2-444d-ad26-ebfe07f2bcb0","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4ff46340-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/596328c0-e9c2-444d-ad26-ebfe07f2bcb0","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4ff46340-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"4ff46340-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/596328c0-e9c2-444d-ad26-ebfe07f2bcb0 200 8ms","method":"GET","requestID":"4ff46340-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/peerconnections/596328c0-e9c2-444d-ad26-ebfe07f2bcb0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"fdacc46e40e23ab55860791f0936b195","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"fdacc46e40e23ab55860791f0936b195"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4ff8a900-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:57Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4cd469-2d77-4603-9263-bb145c91103d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8781e749-e351-4c0e-bd7c-1fef2c6847b4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433017.7490442} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.605427,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4ff8a900-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4ff8a900-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4ff8a900-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/4c4cd469-2d77-4603-9263-bb145c91103d/signaling 200 8ms","method":"POST","requestID":"4ff8a900-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/4c4cd469-2d77-4603-9263-bb145c91103d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4ffa2fa0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:57Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F325e40d1-4c2c-4da0-87a0-6e8bfefa9728","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"32e921b4-0ff8-4206-868e-1abd42754dfb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433017.7586417} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.675401,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4ffa2fa0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4ffa2fa0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4ffa2fa0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728/signaling 200 9ms","method":"POST","requestID":"4ffa2fa0-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxN30.SMAORhrvVAMSGcaGDZkYxXrNdEHI5JVgwIut6UGUSqs","level":"info","message":"auth send jwt","requestID":"9db5986821ecdfc34b1ef938afe797ef"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9db5986821ecdfc34b1ef938afe797ef","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257","requestID":"9db5986821ecdfc34b1ef938afe797ef"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:57Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.681628,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"9db5986821ecdfc34b1ef938afe797ef","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433017,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxN30.SMAORhrvVAMSGcaGDZkYxXrNdEHI5JVgwIut6UGUSqs"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"9db5986821ecdfc34b1ef938afe797ef","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257","requestID":"9db5986821ecdfc34b1ef938afe797ef"} gateway-1 | {"time_local":"05/May/2025:08:16:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9db5986821ecdfc34b1ef938afe797ef"} experiment-1 | {"level":"info","message":"GET /experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257 200 34ms","method":"GET","requestID":"9db5986821ecdfc34b1ef938afe797ef","responseTime":34,"status":200,"url":"/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxN30.SMAORhrvVAMSGcaGDZkYxXrNdEHI5JVgwIut6UGUSqs","level":"info","message":"auth send jwt","requestID":"d02886c06ee3574f6b85d10d4a8433e5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d02886c06ee3574f6b85d10d4a8433e5","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257","requestID":"d02886c06ee3574f6b85d10d4a8433e5"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:57Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.752225,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"d02886c06ee3574f6b85d10d4a8433e5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433017,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxN30.SMAORhrvVAMSGcaGDZkYxXrNdEHI5JVgwIut6UGUSqs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d02886c06ee3574f6b85d10d4a8433e5","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257"},"level":"info","message":"Attempting to finish experiment","requestID":"d02886c06ee3574f6b85d10d4a8433e5"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"50074f00-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:57Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.714136,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/596328c0-e9c2-444d-ad26-ebfe07f2bcb0","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"50074f00-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/596328c0-e9c2-444d-ad26-ebfe07f2bcb0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433017,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxN30.SMAORhrvVAMSGcaGDZkYxXrNdEHI5JVgwIut6UGUSqs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"50074f00-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/596328c0-e9c2-444d-ad26-ebfe07f2bcb0","device":"325e40d1-4c2c-4da0-87a0-6e8bfefa9728","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"4c4cd469-2d77-4603-9263-bb145c91103d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4c4cd469-2d77-4603-9263-bb145c91103d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4c4cd469-2d77-4603-9263-bb145c91103d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/596328c0-e9c2-444d-ad26-ebfe07f2bcb0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/596328c0-e9c2-444d-ad26-ebfe07f2bcb0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"596328c0-e9c2-444d-ad26-ebfe07f2bcb0","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3aba16c0ab3b5166def04c939e72de7f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3aba16c0ab3b5166def04c939e72de7f","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/596328c0-e9c2-444d-ad26-ebfe07f2bcb0"}}},"level":"info","message":"received a callback","requestID":"3aba16c0ab3b5166def04c939e72de7f"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"647dc51f90af6e8d0970c0ae8fc77b79","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"647dc51f90af6e8d0970c0ae8fc77b79","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F596328c0-e9c2-444d-ad26-ebfe07f2bcb0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F596328c0-e9c2-444d-ad26-ebfe07f2bcb0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"f023f099-dd66-4ed4-916c-52ce5016485c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433017.8856535} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/596328c0-e9c2-444d-ad26-ebfe07f2bcb0"}}},"level":"info","message":"received a callback","requestID":"647dc51f90af6e8d0970c0ae8fc77b79"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"db9eaffd-46fe-4417-a80f-acd767d7f8e1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433017.88607} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"50074f00-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"596328c0-e9c2-444d-ad26-ebfe07f2bcb0","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"50074f00-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/596328c0-e9c2-444d-ad26-ebfe07f2bcb0 204 99ms","method":"DELETE","requestID":"50074f00-2989-11f0-8876-6f29f2a860cb","responseTime":99,"status":204,"url":"/peerconnections/596328c0-e9c2-444d-ad26-ebfe07f2bcb0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257"},"level":"info","message":"Successfully finished experiment","requestID":"d02886c06ee3574f6b85d10d4a8433e5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"50190240-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:57Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c4cd469-2d77-4603-9263-bb145c91103d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b0bd8928-15c2-462b-b947-3737fc71d662","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433017.9606385} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.502145,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"50190240-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"50190240-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"50190240-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/4c4cd469-2d77-4603-9263-bb145c91103d/signaling 200 8ms","method":"POST","requestID":"50190240-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/4c4cd469-2d77-4603-9263-bb145c91103d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"501a88e0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ee3ada2-f642-41ad-9d2e-f29870ed1257': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ee3ada2-f642-41ad-9d2e-f29870ed1257","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"39c459f4-e5d8-479b-ae30-bdd672875c05","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433017.9682705} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"303bf957-97d3-4270-a4c3-2186e69f8eee","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433017.9686513} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"d02886c06ee3574f6b85d10d4a8433e5","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:57Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F325e40d1-4c2c-4da0-87a0-6e8bfefa9728","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b73c1ba1-2c39-42de-b457-90450343e863","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433017.971644} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.050479,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"501a88e0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"501a88e0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"501a88e0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728/signaling 200 9ms","method":"POST","requestID":"501a88e0-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257","requestID":"d02886c06ee3574f6b85d10d4a8433e5"} gateway-1 | {"time_local":"05/May/2025:08:16:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.194","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d02886c06ee3574f6b85d10d4a8433e5"} experiment-1 | {"level":"info","message":"DELETE /experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257 204 191ms","method":"DELETE","requestID":"d02886c06ee3574f6b85d10d4a8433e5","responseTime":191,"status":204,"url":"/experiments/3ee3ada2-f642-41ad-9d2e-f29870ed1257"} gateway-1 | {"time_local":"05/May/2025:08:16:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2579","request_time":"4.165","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"0e7bec67a8656c3370bab79c7751de18"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4c4cd469-2d77-4603-9263-bb145c91103d' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"3aba16c0ab3b5166def04c939e72de7f","responseTime":141,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"3aba16c0ab3b5166def04c939e72de7f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"647dc51f90af6e8d0970c0ae8fc77b79","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:16:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"647dc51f90af6e8d0970c0ae8fc77b79"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOH0.sheRn_iHnE-bymVmKaQqxB2_moID4444_ojGdZg4sTQ","level":"info","message":"auth send jwt","requestID":"60f83db4d935ccecb2fbc1a738ffb01a"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"60f83db4d935ccecb2fbc1a738ffb01a","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"60f83db4d935ccecb2fbc1a738ffb01a"} gateway-1 | {"time_local":"05/May/2025:08:16:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2782","request_time":"2.768","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"322e83c13d146c0258479ef521e1013d"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:58Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/325e40d1-4c2c-4da0-87a0-6e8bfefa9728' closed"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.047949,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"60f83db4d935ccecb2fbc1a738ffb01a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433018,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOH0.sheRn_iHnE-bymVmKaQqxB2_moID4444_ojGdZg4sTQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"60f83db4d935ccecb2fbc1a738ffb01a","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb75ca8bb-0b54-4a14-b359-e308673e15cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2ad2f21c-c310-41c8-8832-204ed2a5d9dd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433018.0551772} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"60f83db4d935ccecb2fbc1a738ffb01a","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4f3306bc-6395-4de0-886c-bd6d6e5631b0","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433018.0596006} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"60f83db4d935ccecb2fbc1a738ffb01a","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb75ca8bb-0b54-4a14-b359-e308673e15cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"0963dd26-4434-47c5-8710-1d8f893b99ed","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433018.0713508} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4488fa78-7786-4a86-91f8-0b74a56013b5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433018.0714211} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"60f83db4d935ccecb2fbc1a738ffb01a","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb75ca8bb-0b54-4a14-b359-e308673e15cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb75ca8bb-0b54-4a14-b359-e308673e15cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:58.071329457Z"}]},"request_id":"c99a254f-e2b8-451c-b8b3-6a63537b3495","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433018.0757022} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"60f83db4d935ccecb2fbc1a738ffb01a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"60f83db4d935ccecb2fbc1a738ffb01a"} gateway-1 | {"time_local":"05/May/2025:08:16:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"60f83db4d935ccecb2fbc1a738ffb01a"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"60f83db4d935ccecb2fbc1a738ffb01a","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOH0.sheRn_iHnE-bymVmKaQqxB2_moID4444_ojGdZg4sTQ","level":"info","message":"auth send jwt","requestID":"a4d394bbbdb8d7f1651af9b80aaba43c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a4d394bbbdb8d7f1651af9b80aaba43c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a4d394bbbdb8d7f1651af9b80aaba43c"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:58Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.778571,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"a4d394bbbdb8d7f1651af9b80aaba43c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433018,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOH0.sheRn_iHnE-bymVmKaQqxB2_moID4444_ojGdZg4sTQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a4d394bbbdb8d7f1651af9b80aaba43c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff55571aa-61fd-4f72-84b9-6ed29667f485","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0eabd898-b2ce-411d-9524-3b9336c82246","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433018.1196802} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a4d394bbbdb8d7f1651af9b80aaba43c","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1db324f4-fbe7-46cc-9b1b-0abb0b264394","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433018.1239662} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a4d394bbbdb8d7f1651af9b80aaba43c","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff55571aa-61fd-4f72-84b9-6ed29667f485","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"01b69de9-a5f3-454a-82c8-460258ca1cc2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433018.1362948} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"60ac0b47-0bac-4286-8651-0a09601b5910","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433018.136387} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"a4d394bbbdb8d7f1651af9b80aaba43c","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff55571aa-61fd-4f72-84b9-6ed29667f485","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff55571aa-61fd-4f72-84b9-6ed29667f485","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:58.136267809Z"}]},"request_id":"7ee6429e-fc3a-4565-965e-f739aaf79735","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433018.164292} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a4d394bbbdb8d7f1651af9b80aaba43c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a4d394bbbdb8d7f1651af9b80aaba43c"} gateway-1 | {"time_local":"05/May/2025:08:16:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.085","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a4d394bbbdb8d7f1651af9b80aaba43c"} device-1 | {"level":"info","message":"POST /devices? 201 83ms","method":"POST","requestID":"a4d394bbbdb8d7f1651af9b80aaba43c","responseTime":83,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4","level":"info","message":"auth send jwt","requestID":"01d9df650c366426e9606a3aec828850"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"01d9df650c366426e9606a3aec828850","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"01d9df650c366426e9606a3aec828850"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4","level":"info","message":"auth send jwt","requestID":"98f50fb2d8e5d5455efa1370696e2570"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:59Z"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"98f50fb2d8e5d5455efa1370696e2570","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.931573,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:59Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"98f50fb2d8e5d5455efa1370696e2570"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"01d9df650c366426e9606a3aec828850","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433019,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"01d9df650c366426e9606a3aec828850","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.654317,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"98f50fb2d8e5d5455efa1370696e2570","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433019,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"98f50fb2d8e5d5455efa1370696e2570","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff55571aa-61fd-4f72-84b9-6ed29667f485","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff55571aa-61fd-4f72-84b9-6ed29667f485","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:58.136267809Z"}]},"request_id":"5b4e5e1e-6deb-48a7-befc-c666edb1666e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.0386596} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"01d9df650c366426e9606a3aec828850","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb75ca8bb-0b54-4a14-b359-e308673e15cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb75ca8bb-0b54-4a14-b359-e308673e15cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:58.071329457Z"}]},"request_id":"35c96e43-982e-42e0-8de4-404816a93c1a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.0410593} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"98f50fb2d8e5d5455efa1370696e2570","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e37c8314-0c2a-46a3-8f4e-e48c83501838","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.0424204} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"01d9df650c366426e9606a3aec828850","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1025b649-5029-4090-998b-5eae153719b8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.0457492} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"98f50fb2d8e5d5455efa1370696e2570","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff55571aa-61fd-4f72-84b9-6ed29667f485","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff55571aa-61fd-4f72-84b9-6ed29667f485","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:58.136267809Z"}]},"request_id":"619b813f-ded0-4c88-8b53-2e2993d2567f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.0827942} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"01d9df650c366426e9606a3aec828850","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"01d9df650c366426e9606a3aec828850"} gateway-1 | {"time_local":"05/May/2025:08:16:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f55571aa-61fd-4f72-84b9-6ed29667f485 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.058","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"01d9df650c366426e9606a3aec828850"} device-1 | {"level":"info","message":"PATCH /devices/f55571aa-61fd-4f72-84b9-6ed29667f485 200 54ms","method":"PATCH","requestID":"01d9df650c366426e9606a3aec828850","responseTime":54,"status":200,"url":"/devices/f55571aa-61fd-4f72-84b9-6ed29667f485"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4","level":"info","message":"auth send jwt","requestID":"1ee137477970b22b3311abbc2eacb022"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1ee137477970b22b3311abbc2eacb022","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1ee137477970b22b3311abbc2eacb022"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.702312,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"1ee137477970b22b3311abbc2eacb022","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433019,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1ee137477970b22b3311abbc2eacb022","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb75ca8bb-0b54-4a14-b359-e308673e15cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb75ca8bb-0b54-4a14-b359-e308673e15cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:58.071329457Z"}]},"request_id":"f74245bf-00b5-4474-ad4a-cad7cb43da09","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.0919738} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"98f50fb2d8e5d5455efa1370696e2570","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"98f50fb2d8e5d5455efa1370696e2570"} device-1 | {"level":"info","message":"PATCH /devices/b75ca8bb-0b54-4a14-b359-e308673e15cc 200 61ms","method":"PATCH","requestID":"98f50fb2d8e5d5455efa1370696e2570","responseTime":61,"status":200,"url":"/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc"} gateway-1 | {"time_local":"05/May/2025:08:16:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b75ca8bb-0b54-4a14-b359-e308673e15cc HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.065","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"98f50fb2d8e5d5455efa1370696e2570"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4","level":"info","message":"auth send jwt","requestID":"ddf1899ba5b072d2fd777080d4dd22d7"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"ddf1899ba5b072d2fd777080d4dd22d7","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ddf1899ba5b072d2fd777080d4dd22d7"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.747773,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"ddf1899ba5b072d2fd777080d4dd22d7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433019,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ddf1899ba5b072d2fd777080d4dd22d7","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1ee137477970b22b3311abbc2eacb022"} device-1 | {"level":"info","message":"POST /devices/f55571aa-61fd-4f72-84b9-6ed29667f485/websocket 200 39ms","method":"POST","requestID":"1ee137477970b22b3311abbc2eacb022","responseTime":39,"status":200,"url":"/devices/f55571aa-61fd-4f72-84b9-6ed29667f485/websocket"} gateway-1 | {"time_local":"05/May/2025:08:16:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f55571aa-61fd-4f72-84b9-6ed29667f485/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"1ee137477970b22b3311abbc2eacb022"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ddf1899ba5b072d2fd777080d4dd22d7"} gateway-1 | {"time_local":"05/May/2025:08:16:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b75ca8bb-0b54-4a14-b359-e308673e15cc/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"ddf1899ba5b072d2fd777080d4dd22d7"} device-1 | {"level":"info","message":"POST /devices/b75ca8bb-0b54-4a14-b359-e308673e15cc/websocket 200 32ms","method":"POST","requestID":"ddf1899ba5b072d2fd777080d4dd22d7","responseTime":32,"status":200,"url":"/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4","level":"info","message":"auth send jwt","requestID":"e5e974b608d47f522ec5e8b4dc3ef19b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e5e974b608d47f522ec5e8b4dc3ef19b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e5e974b608d47f522ec5e8b4dc3ef19b"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.651962,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"e5e974b608d47f522ec5e8b4dc3ef19b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433019,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e5e974b608d47f522ec5e8b4dc3ef19b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb75ca8bb-0b54-4a14-b359-e308673e15cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb75ca8bb-0b54-4a14-b359-e308673e15cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:58.071329457Z"}]},"request_id":"0fd22a2f-df4d-4f85-bcc6-2515713914b0","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.151636} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e5e974b608d47f522ec5e8b4dc3ef19b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e5e974b608d47f522ec5e8b4dc3ef19b"} gateway-1 | {"time_local":"05/May/2025:08:16:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b75ca8bb-0b54-4a14-b359-e308673e15cc? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e5e974b608d47f522ec5e8b4dc3ef19b"} device-1 | {"level":"info","message":"GET /devices/b75ca8bb-0b54-4a14-b359-e308673e15cc? 200 10ms","method":"GET","requestID":"e5e974b608d47f522ec5e8b4dc3ef19b","responseTime":10,"status":200,"url":"/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4","level":"info","message":"auth send jwt","requestID":"fa55d2093d6726a9cea5c283dc8aeff5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fa55d2093d6726a9cea5c283dc8aeff5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fa55d2093d6726a9cea5c283dc8aeff5"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.673353,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"fa55d2093d6726a9cea5c283dc8aeff5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433019,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fa55d2093d6726a9cea5c283dc8aeff5","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff55571aa-61fd-4f72-84b9-6ed29667f485","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff55571aa-61fd-4f72-84b9-6ed29667f485","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:58.136267809Z"}]},"request_id":"96cea316-5c0c-4e44-b44d-68d5b0ff32fd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.1645133} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fa55d2093d6726a9cea5c283dc8aeff5","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fa55d2093d6726a9cea5c283dc8aeff5"} gateway-1 | {"time_local":"05/May/2025:08:16:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f55571aa-61fd-4f72-84b9-6ed29667f485? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fa55d2093d6726a9cea5c283dc8aeff5"} device-1 | {"level":"info","message":"GET /devices/f55571aa-61fd-4f72-84b9-6ed29667f485? 200 9ms","method":"GET","requestID":"fa55d2093d6726a9cea5c283dc8aeff5","responseTime":9,"status":200,"url":"/devices/f55571aa-61fd-4f72-84b9-6ed29667f485?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4","level":"info","message":"auth send jwt","requestID":"254dec10f599d1f596a59fd47d123c32"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"254dec10f599d1f596a59fd47d123c32","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"254dec10f599d1f596a59fd47d123c32"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.666559,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"254dec10f599d1f596a59fd47d123c32","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433019,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"254dec10f599d1f596a59fd47d123c32","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4"},"level":"info","message":"Attempting to run experiment","requestID":"254dec10f599d1f596a59fd47d123c32"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4"},"level":"info","message":"Attempting to book experiment","requestID":"254dec10f599d1f596a59fd47d123c32"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4"},"level":"info","message":"Successfully booked experiment","requestID":"254dec10f599d1f596a59fd47d123c32"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"50db19c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"50db40d0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.814382,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"50db19c0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433019,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"50db19c0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.87528,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"50db40d0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433019,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"50db40d0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb75ca8bb-0b54-4a14-b359-e308673e15cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb75ca8bb-0b54-4a14-b359-e308673e15cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:58.071329457Z"}]},"request_id":"3a3e168b-ebfb-415b-b01d-2999985c1deb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.2358403} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"50db19c0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff55571aa-61fd-4f72-84b9-6ed29667f485","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff55571aa-61fd-4f72-84b9-6ed29667f485","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:58.136267809Z"}]},"request_id":"b701592d-8c54-47f1-b4ae-417287029753","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.2367754} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"50db40d0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"50db19c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/b75ca8bb-0b54-4a14-b359-e308673e15cc? 200 13ms","method":"GET","requestID":"50db19c0-2989-11f0-8876-6f29f2a860cb","responseTime":13,"status":200,"url":"/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"50db40d0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/f55571aa-61fd-4f72-84b9-6ed29667f485? 200 13ms","method":"GET","requestID":"50db40d0-2989-11f0-8876-6f29f2a860cb","responseTime":13,"status":200,"url":"/devices/f55571aa-61fd-4f72-84b9-6ed29667f485?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4"},"level":"info","message":"Setting up experiment","requestID":"254dec10f599d1f596a59fd47d123c32"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"254dec10f599d1f596a59fd47d123c32"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4"},"level":"info","message":"Successfully locked booking for experiment","requestID":"254dec10f599d1f596a59fd47d123c32"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"254dec10f599d1f596a59fd47d123c32"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"254dec10f599d1f596a59fd47d123c32"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4"},"level":"info","message":"Attempting to update booking for experiment","requestID":"254dec10f599d1f596a59fd47d123c32"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4"},"level":"info","message":"Successfully updated booking for experiment","requestID":"254dec10f599d1f596a59fd47d123c32"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4"},"level":"info","message":"Successfully set up experiment","requestID":"254dec10f599d1f596a59fd47d123c32"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"50e9bfc0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"50e9e6d0-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4"},"level":"info","message":"Successfully running experiment","requestID":"254dec10f599d1f596a59fd47d123c32"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"50ea0de0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.809452,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"50e9bfc0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433019,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"50e9bfc0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.58359,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"50e9e6d0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433019,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"50e9e6d0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb75ca8bb-0b54-4a14-b359-e308673e15cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"783702b8-1095-498b-8856-eb17038bb53b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.3330863} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb75ca8bb-0b54-4a14-b359-e308673e15cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb75ca8bb-0b54-4a14-b359-e308673e15cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:58.071329457Z"}]},"request_id":"9055bf8c-1cd4-4310-9046-1f0b04f5e1b0","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.334648} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.421345,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"50ea0de0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"50ea0de0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"50e9bfc0-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff55571aa-61fd-4f72-84b9-6ed29667f485","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff55571aa-61fd-4f72-84b9-6ed29667f485","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:58.136267809Z"}]},"request_id":"6f2f6112-3a65-4309-ac69-1bc102eddc83","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.33567} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"50e9e6d0-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"50ea0de0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/b75ca8bb-0b54-4a14-b359-e308673e15cc/signaling 200 39ms","method":"POST","requestID":"50ea0de0-2989-11f0-8876-6f29f2a860cb","responseTime":39,"status":200,"url":"/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"50e9bfc0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/b75ca8bb-0b54-4a14-b359-e308673e15cc? 200 42ms","method":"GET","requestID":"50e9bfc0-2989-11f0-8876-6f29f2a860cb","responseTime":42,"status":200,"url":"/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"50e9e6d0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/f55571aa-61fd-4f72-84b9-6ed29667f485? 200 42ms","method":"GET","requestID":"50e9e6d0-2989-11f0-8876-6f29f2a860cb","responseTime":42,"status":200,"url":"/devices/f55571aa-61fd-4f72-84b9-6ed29667f485?"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"dd0f6665-be4c-4a22-9c25-ccf0ec1aea7f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.3676176} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"50f04f70-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"726ab596-a788-49cc-9ce3-b46d0567238d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.367908} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"254dec10f599d1f596a59fd47d123c32","responseTime":40,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"50f09d90-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:59Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"254dec10f599d1f596a59fd47d123c32"} gateway-1 | {"time_local":"05/May/2025:08:16:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.208","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"254dec10f599d1f596a59fd47d123c32"} experiment-1 | {"level":"info","message":"POST /experiments? 201 205ms","method":"POST","requestID":"254dec10f599d1f596a59fd47d123c32","responseTime":205,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff55571aa-61fd-4f72-84b9-6ed29667f485","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1b73dbc1-e8e2-4fa7-8de4-cd491de3db58","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.3775332} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb75ca8bb-0b54-4a14-b359-e308673e15cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a868de8c-774d-4a62-a70a-87e5e1bbc78c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.3775265} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.682167,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.608015,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"50f09d90-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"50f09d90-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4","level":"info","message":"auth send jwt","requestID":"cc68da55cc108da0d3d7b1e48df86971"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"50f04f70-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cc68da55cc108da0d3d7b1e48df86971","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"50f04f70-2989-11f0-8876-6f29f2a860cb","responseTime":12,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cc68da55cc108da0d3d7b1e48df86971"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:59Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"50f09d90-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/b75ca8bb-0b54-4a14-b359-e308673e15cc/signaling 200 40ms","method":"POST","requestID":"50f09d90-2989-11f0-8876-6f29f2a860cb","responseTime":40,"status":200,"url":"/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc/signaling"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.895056,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:59Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"50f04f70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/f55571aa-61fd-4f72-84b9-6ed29667f485/signaling 200 42ms","method":"POST","requestID":"50f04f70-2989-11f0-8876-6f29f2a860cb","responseTime":42,"status":200,"url":"/devices/f55571aa-61fd-4f72-84b9-6ed29667f485/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"cc68da55cc108da0d3d7b1e48df86971","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433019,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"cc68da55cc108da0d3d7b1e48df86971","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"50f70630-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb75ca8bb-0b54-4a14-b359-e308673e15cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb75ca8bb-0b54-4a14-b359-e308673e15cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:58.071329457Z"}]},"request_id":"e327cb69-adeb-4d42-8ba2-cc6d0c9432f2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.4130747} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cc68da55cc108da0d3d7b1e48df86971","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff55571aa-61fd-4f72-84b9-6ed29667f485","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"11190df7-79ff-47dd-ab9f-e8c3cecfbcda","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.4151893} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.264868,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:59Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cc68da55cc108da0d3d7b1e48df86971"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"50f70630-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"05/May/2025:08:16:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b75ca8bb-0b54-4a14-b359-e308673e15cc? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cc68da55cc108da0d3d7b1e48df86971"} device-1 | {"level":"info","message":"GET /devices/b75ca8bb-0b54-4a14-b359-e308673e15cc? 200 34ms","method":"GET","requestID":"cc68da55cc108da0d3d7b1e48df86971","responseTime":34,"status":200,"url":"/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc?"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"50f70630-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"50f70630-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/f55571aa-61fd-4f72-84b9-6ed29667f485/signaling 200 7ms","method":"POST","requestID":"50f70630-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/devices/f55571aa-61fd-4f72-84b9-6ed29667f485/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"254dec10f599d1f596a59fd47d123c32"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4"},"level":"info","message":"Building connection plan","requestID":"254dec10f599d1f596a59fd47d123c32"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4","level":"info","message":"auth send jwt","requestID":"562be0fa1a3e6f348a9d6141e9cd41ad"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"7ee4e0e1-cc5f-490d-926e-7786bd979bb1"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"376fc5b3-416d-4fcc-990d-33f47a844bc0"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7de9ad42-4982-4999-ac92-44f5ef21ae7b"}]},"level":"info","message":"Built pairwise service configurations","requestID":"254dec10f599d1f596a59fd47d123c32"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"254dec10f599d1f596a59fd47d123c32"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"562be0fa1a3e6f348a9d6141e9cd41ad","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"562be0fa1a3e6f348a9d6141e9cd41ad"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"50f8b3e0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.609957,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"562be0fa1a3e6f348a9d6141e9cd41ad","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433019,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"562be0fa1a3e6f348a9d6141e9cd41ad","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.568882,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"50f8b3e0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433019,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAxOX0.-iBPTNTaQbgDrp0Eb5tcB7jYbu8nOjFSSIAMX6C1eK4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"50f8b3e0-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff55571aa-61fd-4f72-84b9-6ed29667f485","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff55571aa-61fd-4f72-84b9-6ed29667f485","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:16:58.136267809Z"}]},"request_id":"b27b8c10-61f5-4c96-8e63-9b3439e2a085","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.4270728} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"562be0fa1a3e6f348a9d6141e9cd41ad","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"562be0fa1a3e6f348a9d6141e9cd41ad"} device-1 | {"level":"info","message":"GET /devices/f55571aa-61fd-4f72-84b9-6ed29667f485? 200 10ms","method":"GET","requestID":"562be0fa1a3e6f348a9d6141e9cd41ad","responseTime":10,"status":200,"url":"/devices/f55571aa-61fd-4f72-84b9-6ed29667f485?"} gateway-1 | {"time_local":"05/May/2025:08:16:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f55571aa-61fd-4f72-84b9-6ed29667f485? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"562be0fa1a3e6f348a9d6141e9cd41ad"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"ddffc17a-f5f2-4a4d-9359-5488b48ea273","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.4327407} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"89bdfc32-27df-4d8a-a612-935e7e266c5b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.4571059} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"50f8b3e0-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"50f8b3e0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"50f8b3e0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c6b0409d-0813-4bcf-838b-4e28b98c73e1'","requestID":"50f8b3e0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c6b0409d-0813-4bcf-838b-4e28b98c73e1'","requestID":"50f8b3e0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"50f8b3e0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 83ms","method":"POST","requestID":"50f8b3e0-2989-11f0-8876-6f29f2a860cb","responseTime":83,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"50f8b3e0-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"254dec10f599d1f596a59fd47d123c32"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"510d7460-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb75ca8bb-0b54-4a14-b359-e308673e15cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"af45b6ce-799b-4878-b331-390c0f3d0860","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.5632358} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.815907,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"510d7460-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"510d7460-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"510d7460-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/b75ca8bb-0b54-4a14-b359-e308673e15cc/signaling 200 10ms","method":"POST","requestID":"510d7460-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"510f4920-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff55571aa-61fd-4f72-84b9-6ed29667f485","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2d2efef-e747-47d3-812e-9fae9ad26f6d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433019.5748055} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.658862,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:16:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"510f4920-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"510f4920-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"510f4920-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/f55571aa-61fd-4f72-84b9-6ed29667f485/signaling 200 33ms","method":"POST","requestID":"510f4920-2989-11f0-8876-6f29f2a860cb","responseTime":33,"status":200,"url":"/devices/f55571aa-61fd-4f72-84b9-6ed29667f485/signaling"} device-1 | {"device":"b75ca8bb-0b54-4a14-b359-e308673e15cc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"c6b0409d-0813-4bcf-838b-4e28b98c73e1","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f55571aa-61fd-4f72-84b9-6ed29667f485","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"c6b0409d-0813-4bcf-838b-4e28b98c73e1","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f55571aa-61fd-4f72-84b9-6ed29667f485","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f55571aa-61fd-4f72-84b9-6ed29667f485","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f55571aa-61fd-4f72-84b9-6ed29667f485","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f55571aa-61fd-4f72-84b9-6ed29667f485","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c6b0409d-0813-4bcf-838b-4e28b98c73e1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c6b0409d-0813-4bcf-838b-4e28b98c73e1","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5ba675c2fcfc46b2ed122ada33d622aa","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5ba675c2fcfc46b2ed122ada33d622aa","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c6b0409d-0813-4bcf-838b-4e28b98c73e1"}}},"level":"info","message":"received a callback","requestID":"5ba675c2fcfc46b2ed122ada33d622aa"} device-1 | {"device":"b75ca8bb-0b54-4a14-b359-e308673e15cc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b75ca8bb-0b54-4a14-b359-e308673e15cc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b75ca8bb-0b54-4a14-b359-e308673e15cc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"5ba675c2fcfc46b2ed122ada33d622aa","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"5ba675c2fcfc46b2ed122ada33d622aa"} device-1 | {"data":{"peerconnection":"c6b0409d-0813-4bcf-838b-4e28b98c73e1","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f55571aa-61fd-4f72-84b9-6ed29667f485","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b75ca8bb-0b54-4a14-b359-e308673e15cc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b75ca8bb-0b54-4a14-b359-e308673e15cc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f55571aa-61fd-4f72-84b9-6ed29667f485","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"c6b0409d-0813-4bcf-838b-4e28b98c73e1","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c6b0409d-0813-4bcf-838b-4e28b98c73e1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c6b0409d-0813-4bcf-838b-4e28b98c73e1","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ff3c36cc59a5673a41ed2bda93b3dc3f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ff3c36cc59a5673a41ed2bda93b3dc3f","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c6b0409d-0813-4bcf-838b-4e28b98c73e1"}}},"level":"info","message":"received a callback","requestID":"ff3c36cc59a5673a41ed2bda93b3dc3f"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"52455820-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:01Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc6b0409d-0813-4bcf-838b-4e28b98c73e1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cbd4a4b4-9057-4f41-a76a-647ebd276958","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433021.6059349} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.41744,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c6b0409d-0813-4bcf-838b-4e28b98c73e1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"52455820-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c6b0409d-0813-4bcf-838b-4e28b98c73e1","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"52455820-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"52455820-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/c6b0409d-0813-4bcf-838b-4e28b98c73e1 200 7ms","method":"GET","requestID":"52455820-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/peerconnections/c6b0409d-0813-4bcf-838b-4e28b98c73e1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"ff3c36cc59a5673a41ed2bda93b3dc3f","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch","requestID":"ff3c36cc59a5673a41ed2bda93b3dc3f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5248b380-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:01Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff55571aa-61fd-4f72-84b9-6ed29667f485","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4aea2ae3-c2c9-40a4-8190-3bd93f226fcf","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433021.628146} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.325653,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5248b380-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5248b380-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5248b380-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/f55571aa-61fd-4f72-84b9-6ed29667f485/signaling 200 9ms","method":"POST","requestID":"5248b380-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/f55571aa-61fd-4f72-84b9-6ed29667f485/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"524a6130-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:01Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb75ca8bb-0b54-4a14-b359-e308673e15cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a269811a-de3f-4ce6-8746-6bd87953447c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433021.6398346} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.083506,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"524a6130-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"524a6130-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"524a6130-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/b75ca8bb-0b54-4a14-b359-e308673e15cc/signaling 200 33ms","method":"POST","requestID":"524a6130-2989-11f0-8876-6f29f2a860cb","responseTime":33,"status":200,"url":"/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyMX0.G4EQBIRJb1uph_ZTarmWetgeuj80FRoUTuVTg-jHoYU","level":"info","message":"auth send jwt","requestID":"f984843fde297a436dfb1f7c94c6c3f0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f984843fde297a436dfb1f7c94c6c3f0","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4","requestID":"f984843fde297a436dfb1f7c94c6c3f0"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:01Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.800409,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"f984843fde297a436dfb1f7c94c6c3f0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433021,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyMX0.G4EQBIRJb1uph_ZTarmWetgeuj80FRoUTuVTg-jHoYU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f984843fde297a436dfb1f7c94c6c3f0","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4","requestID":"f984843fde297a436dfb1f7c94c6c3f0"} gateway-1 | {"time_local":"05/May/2025:08:17:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f984843fde297a436dfb1f7c94c6c3f0"} experiment-1 | {"level":"info","message":"GET /experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4 200 29ms","method":"GET","requestID":"f984843fde297a436dfb1f7c94c6c3f0","responseTime":29,"status":200,"url":"/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyMX0.G4EQBIRJb1uph_ZTarmWetgeuj80FRoUTuVTg-jHoYU","level":"info","message":"auth send jwt","requestID":"c9a616b68b88a26a36ed6d983dba3387"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c9a616b68b88a26a36ed6d983dba3387","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4","requestID":"c9a616b68b88a26a36ed6d983dba3387"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:01Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.738719,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"c9a616b68b88a26a36ed6d983dba3387","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433021,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyMX0.G4EQBIRJb1uph_ZTarmWetgeuj80FRoUTuVTg-jHoYU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"c9a616b68b88a26a36ed6d983dba3387","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4"},"level":"info","message":"Attempting to finish experiment","requestID":"c9a616b68b88a26a36ed6d983dba3387"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"5258b910-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:01Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.672199,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c6b0409d-0813-4bcf-838b-4e28b98c73e1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5258b910-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/c6b0409d-0813-4bcf-838b-4e28b98c73e1","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433021,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyMX0.G4EQBIRJb1uph_ZTarmWetgeuj80FRoUTuVTg-jHoYU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5258b910-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"b75ca8bb-0b54-4a14-b359-e308673e15cc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b75ca8bb-0b54-4a14-b359-e308673e15cc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b75ca8bb-0b54-4a14-b359-e308673e15cc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f55571aa-61fd-4f72-84b9-6ed29667f485","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f55571aa-61fd-4f72-84b9-6ed29667f485","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f55571aa-61fd-4f72-84b9-6ed29667f485","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c6b0409d-0813-4bcf-838b-4e28b98c73e1' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c6b0409d-0813-4bcf-838b-4e28b98c73e1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c6b0409d-0813-4bcf-838b-4e28b98c73e1","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fcdea91b7c46eb33b097a7a41ff334d0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fcdea91b7c46eb33b097a7a41ff334d0","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b8ef48a56309adc920b83f9ab83c8842","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c6b0409d-0813-4bcf-838b-4e28b98c73e1"}}},"level":"info","message":"received a callback","requestID":"fcdea91b7c46eb33b097a7a41ff334d0"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"b8ef48a56309adc920b83f9ab83c8842","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc6b0409d-0813-4bcf-838b-4e28b98c73e1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc6b0409d-0813-4bcf-838b-4e28b98c73e1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"f5a052f3-909b-4ff3-9666-553a6766be52","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433021.7688003} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"40a0986d-f8d2-46e4-a29f-681e9e930ba6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433021.7690427} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c6b0409d-0813-4bcf-838b-4e28b98c73e1"}}},"level":"info","message":"received a callback","requestID":"b8ef48a56309adc920b83f9ab83c8842"} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"5258b910-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"c6b0409d-0813-4bcf-838b-4e28b98c73e1","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"5258b910-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/c6b0409d-0813-4bcf-838b-4e28b98c73e1 204 85ms","method":"DELETE","requestID":"5258b910-2989-11f0-8876-6f29f2a860cb","responseTime":85,"status":204,"url":"/peerconnections/c6b0409d-0813-4bcf-838b-4e28b98c73e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4"},"level":"info","message":"Successfully finished experiment","requestID":"c9a616b68b88a26a36ed6d983dba3387"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5267fb50-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:01Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff55571aa-61fd-4f72-84b9-6ed29667f485","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd2ad91e-f525-49c0-b739-94d1609252ec","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433021.85704} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.645527,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5267fb50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"5267fb50-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5267fb50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/f55571aa-61fd-4f72-84b9-6ed29667f485/signaling 200 31ms","method":"POST","requestID":"5267fb50-2989-11f0-8876-6f29f2a860cb","responseTime":31,"status":200,"url":"/devices/f55571aa-61fd-4f72-84b9-6ed29667f485/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"526d0460-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"61a928d4-c354-43bb-a136-097c6b79a415","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433021.8628557} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35defdd2-3dff-4ce7-b07f-177d898178d7","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433021.8631613} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"c9a616b68b88a26a36ed6d983dba3387","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:01Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb75ca8bb-0b54-4a14-b359-e308673e15cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"20b4a4de-f806-49bf-84f9-3dcfdc662d04","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433021.8671248} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.282877,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"526d0460-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"526d0460-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"526d0460-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/b75ca8bb-0b54-4a14-b359-e308673e15cc/signaling 200 9ms","method":"POST","requestID":"526d0460-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4","requestID":"c9a616b68b88a26a36ed6d983dba3387"} gateway-1 | {"time_local":"05/May/2025:08:17:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.251","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c9a616b68b88a26a36ed6d983dba3387"} experiment-1 | {"level":"info","message":"DELETE /experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4 204 249ms","method":"DELETE","requestID":"c9a616b68b88a26a36ed6d983dba3387","responseTime":249,"status":204,"url":"/experiments/29a93b0f-3b3f-4490-b68a-f6cbf3aaeef4"} gateway-1 | {"time_local":"05/May/2025:08:17:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2789","request_time":"2.831","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"846e90c1a579731f147765d13d325dd0"} gateway-1 | {"time_local":"05/May/2025:08:17:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2787","request_time":"2.839","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"ee8dba0087f3f31df791d69d1770d503"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 203ms","method":"POST","requestID":"fcdea91b7c46eb33b097a7a41ff334d0","responseTime":203,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.205","http_referrer":"","http_user_agent":"node-fetch","requestID":"fcdea91b7c46eb33b097a7a41ff334d0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 202ms","method":"POST","requestID":"b8ef48a56309adc920b83f9ab83c8842","responseTime":202,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.206","http_referrer":"","http_user_agent":"node-fetch","requestID":"b8ef48a56309adc920b83f9ab83c8842"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyMX0.G4EQBIRJb1uph_ZTarmWetgeuj80FRoUTuVTg-jHoYU","level":"info","message":"auth send jwt","requestID":"ed14dad93510b92d3ae047b91149453a"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b75ca8bb-0b54-4a14-b359-e308673e15cc' closed"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ed14dad93510b92d3ae047b91149453a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f55571aa-61fd-4f72-84b9-6ed29667f485' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"ed14dad93510b92d3ae047b91149453a"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:02Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.935724,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"ed14dad93510b92d3ae047b91149453a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433021,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyMX0.G4EQBIRJb1uph_ZTarmWetgeuj80FRoUTuVTg-jHoYU"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"ed14dad93510b92d3ae047b91149453a","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70fef16f-7baa-4f0e-9531-d89bbfa79ec7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1ce7f033-2f4f-465e-a8c9-b1f5eaae4450","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433022.0174265} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ed14dad93510b92d3ae047b91149453a","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42d3b9f0-a252-40f3-a547-222cc2b6514f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433022.0219917} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ed14dad93510b92d3ae047b91149453a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70fef16f-7baa-4f0e-9531-d89bbfa79ec7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"87aa2621-ad2c-43eb-82bc-a50d64d2ac53","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433022.0333295} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"049df098-2221-49a2-9f64-f0f0dc7240c5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433022.0336473} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"ed14dad93510b92d3ae047b91149453a","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70fef16f-7baa-4f0e-9531-d89bbfa79ec7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70fef16f-7baa-4f0e-9531-d89bbfa79ec7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:02.033305873Z"}]},"request_id":"e5f1601b-cb02-430c-815c-fb32e7672d63","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433022.0376713} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ed14dad93510b92d3ae047b91149453a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ed14dad93510b92d3ae047b91149453a"} gateway-1 | {"time_local":"05/May/2025:08:17:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.070","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ed14dad93510b92d3ae047b91149453a"} device-1 | {"level":"info","message":"POST /devices? 201 65ms","method":"POST","requestID":"ed14dad93510b92d3ae047b91149453a","responseTime":65,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyMn0.aSy4_4_8BM_WZ37tlS0SZ60Y6QHqyJZqrH64AjaBE50","level":"info","message":"auth send jwt","requestID":"3e9a02bfd39060a2c5e72e54215b6bae"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3e9a02bfd39060a2c5e72e54215b6bae","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"3e9a02bfd39060a2c5e72e54215b6bae"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:02Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.851898,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3e9a02bfd39060a2c5e72e54215b6bae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433022,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyMn0.aSy4_4_8BM_WZ37tlS0SZ60Y6QHqyJZqrH64AjaBE50"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3e9a02bfd39060a2c5e72e54215b6bae","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"852ade19-ca17-480d-b729-5393d12b0309","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433022.0596678} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3e9a02bfd39060a2c5e72e54215b6bae","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4f7d1ef-c140-4be1-86b4-16634d6a3f82","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433022.0653095} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"3e9a02bfd39060a2c5e72e54215b6bae","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"21f3ed47-2361-4b13-8479-761e492b3bfd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433022.0934806} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf1006fa-00e9-47ea-a385-5e5fbc85de01","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433022.0940833} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"3e9a02bfd39060a2c5e72e54215b6bae","responseTime":32,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:02.093459749Z"}]},"request_id":"22234da0-faaf-47ad-bf09-bab1067615f0","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433022.0983121} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3e9a02bfd39060a2c5e72e54215b6bae","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3e9a02bfd39060a2c5e72e54215b6bae"} gateway-1 | {"time_local":"05/May/2025:08:17:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3e9a02bfd39060a2c5e72e54215b6bae"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"3e9a02bfd39060a2c5e72e54215b6bae","responseTime":56,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyMn0.aSy4_4_8BM_WZ37tlS0SZ60Y6QHqyJZqrH64AjaBE50","level":"info","message":"auth send jwt","requestID":"c769abcc3a4dbf073b6b82fb5238efda"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c769abcc3a4dbf073b6b82fb5238efda","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c769abcc3a4dbf073b6b82fb5238efda"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:02Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.824264,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"c769abcc3a4dbf073b6b82fb5238efda","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433022,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyMn0.aSy4_4_8BM_WZ37tlS0SZ60Y6QHqyJZqrH64AjaBE50"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c769abcc3a4dbf073b6b82fb5238efda","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70fef16f-7baa-4f0e-9531-d89bbfa79ec7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70fef16f-7baa-4f0e-9531-d89bbfa79ec7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:02.033305873Z"}]},"request_id":"0c02b5e5-64ae-459a-a039-f51572f9f6fa","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433022.9753077} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c769abcc3a4dbf073b6b82fb5238efda","responseTime":3,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyMn0.aSy4_4_8BM_WZ37tlS0SZ60Y6QHqyJZqrH64AjaBE50","level":"info","message":"auth send jwt","requestID":"4a2ff46fc56fea80596ef6477b40ab92"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4a2ff46fc56fea80596ef6477b40ab92","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"4a2ff46fc56fea80596ef6477b40ab92"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"453e500a-6ca3-4dc0-b5cd-95a0a5d781da","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433022.9796474} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"c769abcc3a4dbf073b6b82fb5238efda","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:02Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.66702,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4a2ff46fc56fea80596ef6477b40ab92","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433022,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyMn0.aSy4_4_8BM_WZ37tlS0SZ60Y6QHqyJZqrH64AjaBE50"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4a2ff46fc56fea80596ef6477b40ab92","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70fef16f-7baa-4f0e-9531-d89bbfa79ec7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70fef16f-7baa-4f0e-9531-d89bbfa79ec7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:02.033305873Z"}]},"request_id":"869beb95-b64e-40e7-ae99-14dcadd75237","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433023.0192053} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c769abcc3a4dbf073b6b82fb5238efda","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:02.093459749Z"}]},"request_id":"e0a4f941-d626-420a-b9e8-97f2e20832d3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433023.02025} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c769abcc3a4dbf073b6b82fb5238efda"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4a2ff46fc56fea80596ef6477b40ab92","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"PATCH /devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7 200 56ms","method":"PATCH","requestID":"c769abcc3a4dbf073b6b82fb5238efda","responseTime":56,"status":200,"url":"/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7"} gateway-1 | {"time_local":"05/May/2025:08:17:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.060","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"c769abcc3a4dbf073b6b82fb5238efda"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyM30.pUNO79Eq8iT5qxF3Ww7xzcgpyXR-iAmLNb6wqW1dq-0","level":"info","message":"auth send jwt","requestID":"9eb71837ead97b6650ddcdb0da80f4cc"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9eb71837ead97b6650ddcdb0da80f4cc","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f80905fa-dd23-4fdd-a35e-fc5370657c43","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433023.0260806} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9eb71837ead97b6650ddcdb0da80f4cc"} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"4a2ff46fc56fea80596ef6477b40ab92","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.659123,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"9eb71837ead97b6650ddcdb0da80f4cc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433023,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyM30.pUNO79Eq8iT5qxF3Ww7xzcgpyXR-iAmLNb6wqW1dq-0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"9eb71837ead97b6650ddcdb0da80f4cc","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:02.093459749Z"}]},"request_id":"43de839a-0416-4ed9-9f83-713326165db7","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433023.0570865} authorization-1 | {"level":"info","message":"POST /relations/query 200 25ms","method":"POST","requestID":"4a2ff46fc56fea80596ef6477b40ab92","responseTime":25,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"4a2ff46fc56fea80596ef6477b40ab92"} gateway-1 | {"time_local":"05/May/2025:08:17:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.083","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"4a2ff46fc56fea80596ef6477b40ab92"} device-1 | {"level":"info","message":"PATCH /devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32 200 80ms","method":"PATCH","requestID":"4a2ff46fc56fea80596ef6477b40ab92","responseTime":80,"status":200,"url":"/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyM30.pUNO79Eq8iT5qxF3Ww7xzcgpyXR-iAmLNb6wqW1dq-0","level":"info","message":"auth send jwt","requestID":"a5d63d233eb4e2c856cf4a6436e5c688"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a5d63d233eb4e2c856cf4a6436e5c688","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a5d63d233eb4e2c856cf4a6436e5c688"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.629712,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:03Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9eb71837ead97b6650ddcdb0da80f4cc"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"a5d63d233eb4e2c856cf4a6436e5c688","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433023,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyM30.pUNO79Eq8iT5qxF3Ww7xzcgpyXR-iAmLNb6wqW1dq-0"} gateway-1 | {"time_local":"05/May/2025:08:17:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"9eb71837ead97b6650ddcdb0da80f4cc"} device-1 | {"level":"info","message":"POST /devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7/websocket 200 40ms","method":"POST","requestID":"9eb71837ead97b6650ddcdb0da80f4cc","responseTime":40,"status":200,"url":"/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7/websocket"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a5d63d233eb4e2c856cf4a6436e5c688","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a5d63d233eb4e2c856cf4a6436e5c688"} gateway-1 | {"time_local":"05/May/2025:08:17:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.017","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"a5d63d233eb4e2c856cf4a6436e5c688"} device-1 | {"level":"info","message":"POST /devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32/websocket 200 14ms","method":"POST","requestID":"a5d63d233eb4e2c856cf4a6436e5c688","responseTime":14,"status":200,"url":"/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyM30.pUNO79Eq8iT5qxF3Ww7xzcgpyXR-iAmLNb6wqW1dq-0","level":"info","message":"auth send jwt","requestID":"855224db0e2634acf323e6ef5199bcce"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"855224db0e2634acf323e6ef5199bcce","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"855224db0e2634acf323e6ef5199bcce"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.608888,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"855224db0e2634acf323e6ef5199bcce","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433023,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyM30.pUNO79Eq8iT5qxF3Ww7xzcgpyXR-iAmLNb6wqW1dq-0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"855224db0e2634acf323e6ef5199bcce","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70fef16f-7baa-4f0e-9531-d89bbfa79ec7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70fef16f-7baa-4f0e-9531-d89bbfa79ec7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:02.033305873Z"}]},"request_id":"e9fffab9-cacf-4e0a-97c7-d7a81bf15a07","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433023.115542} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"855224db0e2634acf323e6ef5199bcce","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"855224db0e2634acf323e6ef5199bcce"} gateway-1 | {"time_local":"05/May/2025:08:17:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"855224db0e2634acf323e6ef5199bcce"} device-1 | {"level":"info","message":"GET /devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7? 200 9ms","method":"GET","requestID":"855224db0e2634acf323e6ef5199bcce","responseTime":9,"status":200,"url":"/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyM30.pUNO79Eq8iT5qxF3Ww7xzcgpyXR-iAmLNb6wqW1dq-0","level":"info","message":"auth send jwt","requestID":"b4af350e87746374d6373a204e7dcfd8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b4af350e87746374d6373a204e7dcfd8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b4af350e87746374d6373a204e7dcfd8"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725856,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"b4af350e87746374d6373a204e7dcfd8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433023,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyM30.pUNO79Eq8iT5qxF3Ww7xzcgpyXR-iAmLNb6wqW1dq-0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b4af350e87746374d6373a204e7dcfd8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:02.093459749Z"}]},"request_id":"07844fe0-4b25-475e-a194-ff53a33f5a6b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433023.1283038} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"b4af350e87746374d6373a204e7dcfd8","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b4af350e87746374d6373a204e7dcfd8"} gateway-1 | {"time_local":"05/May/2025:08:17:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b4af350e87746374d6373a204e7dcfd8"} device-1 | {"level":"info","message":"GET /devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32? 200 33ms","method":"GET","requestID":"b4af350e87746374d6373a204e7dcfd8","responseTime":33,"status":200,"url":"/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyM30.pUNO79Eq8iT5qxF3Ww7xzcgpyXR-iAmLNb6wqW1dq-0","level":"info","message":"auth send jwt","requestID":"daf55ed7f537d1588c2baae1a3339a8d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"daf55ed7f537d1588c2baae1a3339a8d","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"daf55ed7f537d1588c2baae1a3339a8d"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.18852,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"daf55ed7f537d1588c2baae1a3339a8d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433023,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyM30.pUNO79Eq8iT5qxF3Ww7xzcgpyXR-iAmLNb6wqW1dq-0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"daf55ed7f537d1588c2baae1a3339a8d","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd"},"level":"info","message":"Attempting to run experiment","requestID":"daf55ed7f537d1588c2baae1a3339a8d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd"},"level":"info","message":"Attempting to book experiment","requestID":"daf55ed7f537d1588c2baae1a3339a8d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd"},"level":"info","message":"Successfully booked experiment","requestID":"daf55ed7f537d1588c2baae1a3339a8d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"533c3b40-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"533c6250-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.612343,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"533c3b40-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433023,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyM30.pUNO79Eq8iT5qxF3Ww7xzcgpyXR-iAmLNb6wqW1dq-0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"533c3b40-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677426,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"533c6250-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433023,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyM30.pUNO79Eq8iT5qxF3Ww7xzcgpyXR-iAmLNb6wqW1dq-0"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"533c6250-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70fef16f-7baa-4f0e-9531-d89bbfa79ec7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70fef16f-7baa-4f0e-9531-d89bbfa79ec7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:02.033305873Z"}]},"request_id":"5043f3a1-a014-4382-b472-fa175f75eb5c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433023.230984} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"533c3b40-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:02.093459749Z"}]},"request_id":"a15fe3e7-f50d-4d79-b9e0-2bd03e594486","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433023.2316437} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"533c6250-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"533c3b40-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7? 200 15ms","method":"GET","requestID":"533c3b40-2989-11f0-8876-6f29f2a860cb","responseTime":15,"status":200,"url":"/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"533c6250-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32? 200 15ms","method":"GET","requestID":"533c6250-2989-11f0-8876-6f29f2a860cb","responseTime":15,"status":200,"url":"/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd"},"level":"info","message":"Setting up experiment","requestID":"daf55ed7f537d1588c2baae1a3339a8d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"daf55ed7f537d1588c2baae1a3339a8d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd"},"level":"info","message":"Successfully locked booking for experiment","requestID":"daf55ed7f537d1588c2baae1a3339a8d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"daf55ed7f537d1588c2baae1a3339a8d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"daf55ed7f537d1588c2baae1a3339a8d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd"},"level":"info","message":"Attempting to update booking for experiment","requestID":"daf55ed7f537d1588c2baae1a3339a8d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd"},"level":"info","message":"Successfully updated booking for experiment","requestID":"daf55ed7f537d1588c2baae1a3339a8d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd"},"level":"info","message":"Successfully set up experiment","requestID":"daf55ed7f537d1588c2baae1a3339a8d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5344edd0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"534514e0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"53453bf0-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd"},"level":"info","message":"Successfully running experiment","requestID":"daf55ed7f537d1588c2baae1a3339a8d"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:46330","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.744528,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5344edd0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433023,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyM30.pUNO79Eq8iT5qxF3Ww7xzcgpyXR-iAmLNb6wqW1dq-0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5344edd0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.668953,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"534514e0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433023,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyM30.pUNO79Eq8iT5qxF3Ww7xzcgpyXR-iAmLNb6wqW1dq-0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"534514e0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70fef16f-7baa-4f0e-9531-d89bbfa79ec7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70fef16f-7baa-4f0e-9531-d89bbfa79ec7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:02.033305873Z"}]},"request_id":"b00f926c-53a1-4ab3-b2aa-bfef92476a43","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433023.2878695} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5344edd0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:02.093459749Z"}]},"request_id":"b68c1034-2850-4f25-8591-42f5b53ce653","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433023.2895424} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70fef16f-7baa-4f0e-9531-d89bbfa79ec7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"03bc1dfe-eb44-49d2-a9aa-6556921cdb3f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433023.2896674} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"534514e0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.66918,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"53453bf0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"53453bf0-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5344edd0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7? 200 17ms","method":"GET","requestID":"5344edd0-2989-11f0-8876-6f29f2a860cb","responseTime":17,"status":200,"url":"/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"534514e0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32? 200 17ms","method":"GET","requestID":"534514e0-2989-11f0-8876-6f29f2a860cb","responseTime":17,"status":200,"url":"/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"53453bf0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7/signaling 200 17ms","method":"POST","requestID":"53453bf0-2989-11f0-8876-6f29f2a860cb","responseTime":17,"status":200,"url":"/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5347fb10-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"53482220-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.258946,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70fef16f-7baa-4f0e-9531-d89bbfa79ec7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"90eaa57e-05c9-4dd4-93f5-54486b4b2e6d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433023.3012848} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F87a3f8e6-951d-402d-b0a9-f038b627e7fd#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F87a3f8e6-951d-402d-b0a9-f038b627e7fd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"e217b41b-01b6-4330-9f41-0bf6fe5799df","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433023.3013039} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95841c2c-5d6c-4ab1-886a-3cdf0f912c70","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433023.3015833} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5347fb10-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5347fb10-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"daf55ed7f537d1588c2baae1a3339a8d","responseTime":22,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f4960d6f-223a-4dee-89d6-eabc92f223bf","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433023.3039722} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.385835,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"53482220-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"53482220-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5347fb10-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7/signaling 200 11ms","method":"POST","requestID":"5347fb10-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"53482220-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32/signaling 200 12ms","method":"POST","requestID":"53482220-2989-11f0-8876-6f29f2a860cb","responseTime":12,"status":200,"url":"/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"534a4500-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"daf55ed7f537d1588c2baae1a3339a8d"} gateway-1 | {"time_local":"05/May/2025:08:17:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.158","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"daf55ed7f537d1588c2baae1a3339a8d"} experiment-1 | {"level":"info","message":"POST /experiments? 201 154ms","method":"POST","requestID":"daf55ed7f537d1588c2baae1a3339a8d","responseTime":154,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"992c6eac-fe65-4999-b10a-cc1ab6cdf188","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433023.3169684} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.742637,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:03Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyM30.pUNO79Eq8iT5qxF3Ww7xzcgpyXR-iAmLNb6wqW1dq-0","level":"info","message":"auth send jwt","requestID":"4784266a47082637e2e4a5b56fff02bb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4784266a47082637e2e4a5b56fff02bb","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"534a4500-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"534a4500-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4784266a47082637e2e4a5b56fff02bb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"534a4500-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:03Z"} device-1 | {"level":"info","message":"POST /devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32/signaling 200 9ms","method":"POST","requestID":"534a4500-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyM30.pUNO79Eq8iT5qxF3Ww7xzcgpyXR-iAmLNb6wqW1dq-0","level":"info","message":"auth send jwt","requestID":"d37004f0def63211ba4797f8c067c344"} gateway-1 | {"time_local":"05/May/2025:08:17:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4784266a47082637e2e4a5b56fff02bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"daf55ed7f537d1588c2baae1a3339a8d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd"},"level":"info","message":"Building connection plan","requestID":"daf55ed7f537d1588c2baae1a3339a8d"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"c454718e-9ffd-4242-996a-474306f0062c"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"64858ab5-ae72-4bf4-84f8-e480d991ec87"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"eb4f7cbf-5d8d-43b0-a606-f04c0206a3be"}]},"level":"info","message":"Built pairwise service configurations","requestID":"daf55ed7f537d1588c2baae1a3339a8d"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"534c19c0-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"daf55ed7f537d1588c2baae1a3339a8d"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4784266a47082637e2e4a5b56fff02bb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d37004f0def63211ba4797f8c067c344","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.397496,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:03Z"} device-1 | {"level":"info","message":"GET /devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7? 200 12ms","method":"GET","requestID":"4784266a47082637e2e4a5b56fff02bb","responseTime":12,"status":200,"url":"/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7?"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4784266a47082637e2e4a5b56fff02bb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433023,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyM30.pUNO79Eq8iT5qxF3Ww7xzcgpyXR-iAmLNb6wqW1dq-0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d37004f0def63211ba4797f8c067c344"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4784266a47082637e2e4a5b56fff02bb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70fef16f-7baa-4f0e-9531-d89bbfa79ec7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70fef16f-7baa-4f0e-9531-d89bbfa79ec7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:02.033305873Z"}]},"request_id":"1d5c0127-4e21-4361-be91-1e510786905f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433023.3260298} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4784266a47082637e2e4a5b56fff02bb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.626912,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"534c19c0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433023,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyM30.pUNO79Eq8iT5qxF3Ww7xzcgpyXR-iAmLNb6wqW1dq-0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"534c19c0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"3650d38c-4fb6-41f8-be3f-8cd4d7853867","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433023.334659} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c456e1a5-7bfb-4610-a168-17805a0abdb4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433023.3349626} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"534c19c0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.733155,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"d37004f0def63211ba4797f8c067c344","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433023,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyM30.pUNO79Eq8iT5qxF3Ww7xzcgpyXR-iAmLNb6wqW1dq-0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d37004f0def63211ba4797f8c067c344","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:02.093459749Z"}]},"request_id":"50b241e0-5edb-4c99-a806-1ceb489a8d1c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433023.3401663} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d37004f0def63211ba4797f8c067c344","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"534c19c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"534c19c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/bbd4bf82-4ebc-4c4e-b9a3-548665351c6e'","requestID":"534c19c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/bbd4bf82-4ebc-4c4e-b9a3-548665351c6e'","requestID":"534c19c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"534c19c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 34ms","method":"POST","requestID":"534c19c0-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d37004f0def63211ba4797f8c067c344"} gateway-1 | {"time_local":"05/May/2025:08:17:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d37004f0def63211ba4797f8c067c344"} device-1 | {"level":"info","message":"GET /devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32? 200 25ms","method":"GET","requestID":"d37004f0def63211ba4797f8c067c344","responseTime":25,"status":200,"url":"/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"534c19c0-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"daf55ed7f537d1588c2baae1a3339a8d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"53598740-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70fef16f-7baa-4f0e-9531-d89bbfa79ec7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"963ee74a-7c83-465f-9df0-0827db218d8b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433023.416307} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"53598740-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.663802,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:03Z"} device-1 | {"level":"info","message":"POST /devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7/signaling 200 32ms","method":"POST","requestID":"53598740-2989-11f0-8876-6f29f2a860cb","responseTime":32,"status":200,"url":"/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"53598740-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"53598740-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"535e9050-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60b67e49-eb49-4835-927f-485fe80f8c5e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433023.4495254} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.219623,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"535e9050-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"535e9050-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"535e9050-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32/signaling 200 8ms","method":"POST","requestID":"535e9050-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32/signaling"} device-1 | {"device":"70fef16f-7baa-4f0e-9531-d89bbfa79ec7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"bbd4bf82-4ebc-4c4e-b9a3-548665351c6e","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"bbd4bf82-4ebc-4c4e-b9a3-548665351c6e","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bbd4bf82-4ebc-4c4e-b9a3-548665351c6e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bbd4bf82-4ebc-4c4e-b9a3-548665351c6e","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6ecc06c1e3e7678144c03215590c679f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6ecc06c1e3e7678144c03215590c679f","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/bbd4bf82-4ebc-4c4e-b9a3-548665351c6e"}}},"level":"info","message":"received a callback","requestID":"6ecc06c1e3e7678144c03215590c679f"} device-1 | {"device":"70fef16f-7baa-4f0e-9531-d89bbfa79ec7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"70fef16f-7baa-4f0e-9531-d89bbfa79ec7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"70fef16f-7baa-4f0e-9531-d89bbfa79ec7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"6ecc06c1e3e7678144c03215590c679f","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"6ecc06c1e3e7678144c03215590c679f"} device-1 | {"device":"2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"70fef16f-7baa-4f0e-9531-d89bbfa79ec7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"70fef16f-7baa-4f0e-9531-d89bbfa79ec7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"bbd4bf82-4ebc-4c4e-b9a3-548665351c6e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"bbd4bf82-4ebc-4c4e-b9a3-548665351c6e","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bbd4bf82-4ebc-4c4e-b9a3-548665351c6e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bbd4bf82-4ebc-4c4e-b9a3-548665351c6e","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3a4c637c6d612a4df54b89451492f21e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3a4c637c6d612a4df54b89451492f21e","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/bbd4bf82-4ebc-4c4e-b9a3-548665351c6e"}}},"level":"info","message":"received a callback","requestID":"3a4c637c6d612a4df54b89451492f21e"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"5491b920-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:05Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbbd4bf82-4ebc-4c4e-b9a3-548665351c6e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c87c8f07-2822-465c-bbac-8a02389ac893","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433025.4625754} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.13172,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bbd4bf82-4ebc-4c4e-b9a3-548665351c6e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5491b920-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/bbd4bf82-4ebc-4c4e-b9a3-548665351c6e","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5491b920-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"5491b920-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/bbd4bf82-4ebc-4c4e-b9a3-548665351c6e 200 8ms","method":"GET","requestID":"5491b920-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/peerconnections/bbd4bf82-4ebc-4c4e-b9a3-548665351c6e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 57ms","method":"POST","requestID":"3a4c637c6d612a4df54b89451492f21e","responseTime":57,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch","requestID":"3a4c637c6d612a4df54b89451492f21e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5499cf70-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:05Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa48cc27-6aed-47f7-8173-2466af35eb18","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433025.515476} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.444211,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5499cf70-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5499cf70-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5499cf70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32/signaling 200 9ms","method":"POST","requestID":"5499cf70-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"549b5610-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:05Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70fef16f-7baa-4f0e-9531-d89bbfa79ec7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef206ce1-1ca0-4b00-a585-c76c8cd20f41","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433025.5256038} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.406454,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"549b5610-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"549b5610-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"549b5610-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7/signaling 200 9ms","method":"POST","requestID":"549b5610-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyNX0.G7yL2cLfsAxjozV5iDlxuH56pqQdGoZr-ASNeXqIVDg","level":"info","message":"auth send jwt","requestID":"27ad7e6b73ba314bf2f2075fdf842842"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"27ad7e6b73ba314bf2f2075fdf842842","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd","requestID":"27ad7e6b73ba314bf2f2075fdf842842"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:05Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.687655,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"27ad7e6b73ba314bf2f2075fdf842842","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433025,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyNX0.G7yL2cLfsAxjozV5iDlxuH56pqQdGoZr-ASNeXqIVDg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"27ad7e6b73ba314bf2f2075fdf842842","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd","requestID":"27ad7e6b73ba314bf2f2075fdf842842"} experiment-1 | {"level":"info","message":"GET /experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd 200 9ms","method":"GET","requestID":"27ad7e6b73ba314bf2f2075fdf842842","responseTime":9,"status":200,"url":"/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd"} gateway-1 | {"time_local":"05/May/2025:08:17:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"27ad7e6b73ba314bf2f2075fdf842842"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyNX0.G7yL2cLfsAxjozV5iDlxuH56pqQdGoZr-ASNeXqIVDg","level":"info","message":"auth send jwt","requestID":"971723be2225e69490f6a7b82e4ff928"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"971723be2225e69490f6a7b82e4ff928","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd","requestID":"971723be2225e69490f6a7b82e4ff928"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:05Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.640862,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"971723be2225e69490f6a7b82e4ff928","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433025,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyNX0.G7yL2cLfsAxjozV5iDlxuH56pqQdGoZr-ASNeXqIVDg"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"971723be2225e69490f6a7b82e4ff928","responseTime":28,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd"},"level":"info","message":"Attempting to finish experiment","requestID":"971723be2225e69490f6a7b82e4ff928"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"54a84e60-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:05Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.789584,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bbd4bf82-4ebc-4c4e-b9a3-548665351c6e","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"54a84e60-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/bbd4bf82-4ebc-4c4e-b9a3-548665351c6e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433025,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyNX0.G7yL2cLfsAxjozV5iDlxuH56pqQdGoZr-ASNeXqIVDg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"54a84e60-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"70fef16f-7baa-4f0e-9531-d89bbfa79ec7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"70fef16f-7baa-4f0e-9531-d89bbfa79ec7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"70fef16f-7baa-4f0e-9531-d89bbfa79ec7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bbd4bf82-4ebc-4c4e-b9a3-548665351c6e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/bbd4bf82-4ebc-4c4e-b9a3-548665351c6e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bbd4bf82-4ebc-4c4e-b9a3-548665351c6e","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbbd4bf82-4ebc-4c4e-b9a3-548665351c6e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbbd4bf82-4ebc-4c4e-b9a3-548665351c6e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"ac3abbcd-de0e-45d1-ace6-4841ea6a7760","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433025.6190994} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"814af072-0ae1-48c1-8003-c7aff5f75a3c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433025.6193364} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3e6f8199a5743bb2cf2fdbc0db996a1c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3e6f8199a5743bb2cf2fdbc0db996a1c","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"54a84e60-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"10d7a673b0b242f266b4ae87e5794ed7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bbd4bf82-4ebc-4c4e-b9a3-548665351c6e"}}},"level":"info","message":"received a callback","requestID":"3e6f8199a5743bb2cf2fdbc0db996a1c"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"10d7a673b0b242f266b4ae87e5794ed7","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bbd4bf82-4ebc-4c4e-b9a3-548665351c6e"}}},"level":"info","message":"received a callback","requestID":"10d7a673b0b242f266b4ae87e5794ed7"} device-1 | {"data":{"peerconnection":"bbd4bf82-4ebc-4c4e-b9a3-548665351c6e","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"54a84e60-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/bbd4bf82-4ebc-4c4e-b9a3-548665351c6e 204 57ms","method":"DELETE","requestID":"54a84e60-2989-11f0-8876-6f29f2a860cb","responseTime":57,"status":204,"url":"/peerconnections/bbd4bf82-4ebc-4c4e-b9a3-548665351c6e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd"},"level":"info","message":"Successfully finished experiment","requestID":"971723be2225e69490f6a7b82e4ff928"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"54b2fcc0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:05Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef62974b-530f-4601-b3e3-ced733664453","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433025.7014303} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.865527,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"54b2fcc0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"54b2fcc0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"54b2fcc0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32/signaling 200 29ms","method":"POST","requestID":"54b2fcc0-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"54b7b7b0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F87a3f8e6-951d-402d-b0a9-f038b627e7fd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F87a3f8e6-951d-402d-b0a9-f038b627e7fd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"5a7ce2e5-3595-4f73-b401-bb546dc283ca","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433025.7087107} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"876c6756-0dd5-4f6f-be30-cd73f42e2eb6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433025.7088852} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:05Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"971723be2225e69490f6a7b82e4ff928","responseTime":35,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70fef16f-7baa-4f0e-9531-d89bbfa79ec7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b05493c-a2a1-480f-8b4f-6afb14185fd5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433025.7108576} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.222469,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"54b7b7b0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"54b7b7b0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"54b7b7b0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7/signaling 200 7ms","method":"POST","requestID":"54b7b7b0-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd","requestID":"971723be2225e69490f6a7b82e4ff928"} gateway-1 | {"time_local":"05/May/2025:08:17:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.244","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"971723be2225e69490f6a7b82e4ff928"} experiment-1 | {"level":"info","message":"DELETE /experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd 204 242ms","method":"DELETE","requestID":"971723be2225e69490f6a7b82e4ff928","responseTime":242,"status":204,"url":"/experiments/87a3f8e6-951d-402d-b0a9-f038b627e7fd"} gateway-1 | {"time_local":"05/May/2025:08:17:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2787","request_time":"2.737","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"952dae978cb8fe28c0bfe17a3eb75a91"} gateway-1 | {"time_local":"05/May/2025:08:17:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2789","request_time":"2.746","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"823f76e74fa63a9be3f578669326b1f3"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:05Z"} device-1 | {"level":"info","message":"postDevices called","requestID":"e34c20b63b1072b603e89e8706694035"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.610802,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:05Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyNX0.G7yL2cLfsAxjozV5iDlxuH56pqQdGoZr-ASNeXqIVDg","level":"info","message":"auth send jwt","requestID":"e34c20b63b1072b603e89e8706694035"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e34c20b63b1072b603e89e8706694035","responseTime":3,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2368a3d2-758e-4be3-b4d7-d1b88fb7bc32' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"e34c20b63b1072b603e89e8706694035","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433025,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyNX0.G7yL2cLfsAxjozV5iDlxuH56pqQdGoZr-ASNeXqIVDg"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e34c20b63b1072b603e89e8706694035","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/70fef16f-7baa-4f0e-9531-d89bbfa79ec7' closed"} gateway-1 | {"time_local":"05/May/2025:08:17:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.223","http_referrer":"","http_user_agent":"node-fetch","requestID":"3e6f8199a5743bb2cf2fdbc0db996a1c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 220ms","method":"POST","requestID":"3e6f8199a5743bb2cf2fdbc0db996a1c","responseTime":220,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 220ms","method":"POST","requestID":"10d7a673b0b242f266b4ae87e5794ed7","responseTime":220,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.224","http_referrer":"","http_user_agent":"node-fetch","requestID":"10d7a673b0b242f266b4ae87e5794ed7"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a9ba4343-46ba-4343-82ac-ff1f9abdc706","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433025.853461} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e34c20b63b1072b603e89e8706694035","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4fcb2d0e-4d88-4a06-a910-89e7cf77b370","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433025.858634} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"e34c20b63b1072b603e89e8706694035","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"6dbc7cfa-3319-420b-9f21-ae55963af0e9","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433025.870147} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f3372dd9-1cb9-4526-8585-8384e66a53b4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433025.870409} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"e34c20b63b1072b603e89e8706694035","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:05.870117159Z"}]},"request_id":"ec739112-9a3c-49b1-b323-5b8a7b6db2f2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433025.8757093} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e34c20b63b1072b603e89e8706694035","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e34c20b63b1072b603e89e8706694035"} gateway-1 | {"time_local":"05/May/2025:08:17:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e34c20b63b1072b603e89e8706694035"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"e34c20b63b1072b603e89e8706694035","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyNX0.G7yL2cLfsAxjozV5iDlxuH56pqQdGoZr-ASNeXqIVDg","level":"info","message":"auth send jwt","requestID":"855d6becee680b4ba77293837edeef24"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"855d6becee680b4ba77293837edeef24","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"855d6becee680b4ba77293837edeef24"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:05Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.714339,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"855d6becee680b4ba77293837edeef24","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433025,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyNX0.G7yL2cLfsAxjozV5iDlxuH56pqQdGoZr-ASNeXqIVDg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"855d6becee680b4ba77293837edeef24","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa521d913-e74c-48f5-8fd9-fffdb5c3154c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0f96f6d3-5494-480c-8aab-bf9ad2ed5475","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433025.8990536} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"855d6becee680b4ba77293837edeef24","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"197ff144-c86f-41ed-818f-3bdcf1bdbd16","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433025.9038458} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"855d6becee680b4ba77293837edeef24","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa521d913-e74c-48f5-8fd9-fffdb5c3154c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"5ed4746b-2ba1-4ed7-a1d5-0272eb04a42d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433025.9150016} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32baf1ae-7f0e-4996-aeac-c4bdee025e0c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433025.915103} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"855d6becee680b4ba77293837edeef24","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa521d913-e74c-48f5-8fd9-fffdb5c3154c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa521d913-e74c-48f5-8fd9-fffdb5c3154c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:05.914970074Z"}]},"request_id":"542b2e80-8ac3-451c-9ee4-df9aeabb21fe","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433025.919616} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"855d6becee680b4ba77293837edeef24","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"855d6becee680b4ba77293837edeef24"} gateway-1 | {"time_local":"05/May/2025:08:17:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"855d6becee680b4ba77293837edeef24"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"855d6becee680b4ba77293837edeef24","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bf3b5f5d7520fa2b8d3cab050fc73f08","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bf3b5f5d7520fa2b8d3cab050fc73f08","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:17:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bf3b5f5d7520fa2b8d3cab050fc73f08"} device-1 | {"level":"info","message":"OPTIONS /devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643/websocket 200 2ms","method":"OPTIONS","requestID":"bf3b5f5d7520fa2b8d3cab050fc73f08","responseTime":2,"status":200,"url":"/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg","level":"info","message":"auth send jwt","requestID":"3379e594220ff611819469fdfb3dd2f9"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3379e594220ff611819469fdfb3dd2f9","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3379e594220ff611819469fdfb3dd2f9"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.210985,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3379e594220ff611819469fdfb3dd2f9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433028,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3379e594220ff611819469fdfb3dd2f9","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4b8852e7700c3f649cc2179f73f819ae","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"4b8852e7700c3f649cc2179f73f819ae","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:17:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4b8852e7700c3f649cc2179f73f819ae"} device-1 | {"level":"info","message":"OPTIONS /devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c/websocket 200 0ms","method":"OPTIONS","requestID":"4b8852e7700c3f649cc2179f73f819ae","responseTime":0,"status":200,"url":"/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3379e594220ff611819469fdfb3dd2f9"} gateway-1 | {"time_local":"05/May/2025:08:17:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.038","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3379e594220ff611819469fdfb3dd2f9"} device-1 | {"level":"info","message":"POST /devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643/websocket 200 31ms","method":"POST","requestID":"3379e594220ff611819469fdfb3dd2f9","responseTime":31,"status":200,"url":"/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg","level":"info","message":"auth send jwt","requestID":"68aa6b89b7062bca61073859e4d40dfb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"68aa6b89b7062bca61073859e4d40dfb","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"68aa6b89b7062bca61073859e4d40dfb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.796744,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"68aa6b89b7062bca61073859e4d40dfb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433028,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"68aa6b89b7062bca61073859e4d40dfb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"68aa6b89b7062bca61073859e4d40dfb"} gateway-1 | {"time_local":"05/May/2025:08:17:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"68aa6b89b7062bca61073859e4d40dfb"} device-1 | {"level":"info","message":"POST /devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c/websocket 200 15ms","method":"POST","requestID":"68aa6b89b7062bca61073859e4d40dfb","responseTime":15,"status":200,"url":"/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg","level":"info","message":"auth send jwt","requestID":"5285a723d12a2078eb0da6bd317175cb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5285a723d12a2078eb0da6bd317175cb","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5285a723d12a2078eb0da6bd317175cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":5.078057,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5285a723d12a2078eb0da6bd317175cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433028,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"5285a723d12a2078eb0da6bd317175cb","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:05.870117159Z"}]},"request_id":"7961e1b1-cf01-4544-a4b8-ce603db0db56","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.1328447} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5285a723d12a2078eb0da6bd317175cb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5285a723d12a2078eb0da6bd317175cb"} device-1 | {"level":"info","message":"GET /devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643? 200 15ms","method":"GET","requestID":"5285a723d12a2078eb0da6bd317175cb","responseTime":15,"status":200,"url":"/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643?"} gateway-1 | {"time_local":"05/May/2025:08:17:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5285a723d12a2078eb0da6bd317175cb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg","level":"info","message":"auth send jwt","requestID":"1456439ad244c6bb2a6532ad1cc1de6f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1456439ad244c6bb2a6532ad1cc1de6f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1456439ad244c6bb2a6532ad1cc1de6f"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658696,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"1456439ad244c6bb2a6532ad1cc1de6f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433028,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1456439ad244c6bb2a6532ad1cc1de6f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa521d913-e74c-48f5-8fd9-fffdb5c3154c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa521d913-e74c-48f5-8fd9-fffdb5c3154c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:05.914970074Z"}]},"request_id":"932557c8-0555-486f-b4c5-4fb2d6820469","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.1554854} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1456439ad244c6bb2a6532ad1cc1de6f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1456439ad244c6bb2a6532ad1cc1de6f"} gateway-1 | {"time_local":"05/May/2025:08:17:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1456439ad244c6bb2a6532ad1cc1de6f"} device-1 | {"level":"info","message":"GET /devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c? 200 9ms","method":"GET","requestID":"1456439ad244c6bb2a6532ad1cc1de6f","responseTime":9,"status":200,"url":"/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg","level":"info","message":"auth send jwt","requestID":"3e14eba11f676190852f1698104820a8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3e14eba11f676190852f1698104820a8","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"3e14eba11f676190852f1698104820a8"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":25.18897,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3e14eba11f676190852f1698104820a8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433028,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"3e14eba11f676190852f1698104820a8","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a"},"level":"info","message":"Attempting to run experiment","requestID":"3e14eba11f676190852f1698104820a8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a"},"level":"info","message":"Attempting to book experiment","requestID":"3e14eba11f676190852f1698104820a8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a"},"level":"info","message":"Successfully booked experiment","requestID":"3e14eba11f676190852f1698104820a8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"563c0dc0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"563c34d0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.609963,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"563c0dc0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433028,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"563c0dc0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.652666,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"563c34d0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433028,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"563c34d0-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:05.870117159Z"}]},"request_id":"7c8ca1db-629e-4b05-a0d9-01933bdc67c9","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.259199} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"563c0dc0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa521d913-e74c-48f5-8fd9-fffdb5c3154c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa521d913-e74c-48f5-8fd9-fffdb5c3154c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:05.914970074Z"}]},"request_id":"5b8121c4-de89-4741-af92-0caa37054aee","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.2598817} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"563c34d0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"563c0dc0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643? 200 11ms","method":"GET","requestID":"563c0dc0-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"563c34d0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c? 200 11ms","method":"GET","requestID":"563c34d0-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a"},"level":"info","message":"Setting up experiment","requestID":"3e14eba11f676190852f1698104820a8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"3e14eba11f676190852f1698104820a8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a"},"level":"info","message":"Successfully locked booking for experiment","requestID":"3e14eba11f676190852f1698104820a8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"3e14eba11f676190852f1698104820a8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"3e14eba11f676190852f1698104820a8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a"},"level":"info","message":"Attempting to update booking for experiment","requestID":"3e14eba11f676190852f1698104820a8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a"},"level":"info","message":"Successfully updated booking for experiment","requestID":"3e14eba11f676190852f1698104820a8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a"},"level":"info","message":"Successfully set up experiment","requestID":"3e14eba11f676190852f1698104820a8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"564c1350-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"564c3a60-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"564c8880-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.631941,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"564c1350-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433028,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"564c1350-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a"},"level":"info","message":"Successfully running experiment","requestID":"3e14eba11f676190852f1698104820a8"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.696129,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"564c3a60-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433028,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"564c3a60-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cc17c1b2-c7ef-4a08-8a3e-b82479f11edb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.390195} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa521d913-e74c-48f5-8fd9-fffdb5c3154c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa521d913-e74c-48f5-8fd9-fffdb5c3154c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:05.914970074Z"}]},"request_id":"478f535a-94bd-4977-b3b6-f2ff3cd1be19","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.391} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.2672,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"564c8880-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"564c8880-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"564c3a60-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:05.870117159Z"}]},"request_id":"503a467c-36f0-42c0-8064-072b513a2da8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.3918915} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"564c1350-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"564c8880-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643/signaling 200 36ms","method":"POST","requestID":"564c8880-2989-11f0-8876-6f29f2a860cb","responseTime":36,"status":200,"url":"/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"564c3a60-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c? 200 39ms","method":"GET","requestID":"564c3a60-2989-11f0-8876-6f29f2a860cb","responseTime":39,"status":200,"url":"/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"56527bf0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"564c1350-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643? 200 44ms","method":"GET","requestID":"564c1350-2989-11f0-8876-6f29f2a860cb","responseTime":44,"status":200,"url":"/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643?"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"56531830-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa521d913-e74c-48f5-8fd9-fffdb5c3154c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"455933f8-89b2-4925-9b7e-4b734e612b81","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.4030473} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.70995,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"56527bf0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"56527bf0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F37f18fb9-8479-46c8-96c9-d5ae6ec53e4a#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F37f18fb9-8479-46c8-96c9-d5ae6ec53e4a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"535029a7-197e-460e-a4ff-4a5ef38c6f93","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.4049556} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e23e64bd-4e89-4a68-93de-9f9ce33cf4a7","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.40518} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"56527bf0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c/signaling 200 33ms","method":"POST","requestID":"56527bf0-2989-11f0-8876-6f29f2a860cb","responseTime":33,"status":200,"url":"/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","method":"POST","requestID":"3e14eba11f676190852f1698104820a8","responseTime":47,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"611debee-2afe-4050-a3ad-ba8820794cde","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.409225} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.817648,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"56531830-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"56531830-2989-11f0-8876-6f29f2a860cb","responseTime":31,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"3e14eba11f676190852f1698104820a8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"56531830-2989-11f0-8876-6f29f2a860cb"} gateway-1 | {"time_local":"05/May/2025:08:17:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.280","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3e14eba11f676190852f1698104820a8"} device-1 | {"level":"info","message":"POST /devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643/signaling 200 36ms","method":"POST","requestID":"56531830-2989-11f0-8876-6f29f2a860cb","responseTime":36,"status":200,"url":"/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 275ms","method":"POST","requestID":"3e14eba11f676190852f1698104820a8","responseTime":275,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5658e490-2989-11f0-8876-6f29f2a860cb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg","level":"info","message":"auth send jwt","requestID":"c69fcc57ef8638f9cf63945f68fcbf4c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c69fcc57ef8638f9cf63945f68fcbf4c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c69fcc57ef8638f9cf63945f68fcbf4c"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa521d913-e74c-48f5-8fd9-fffdb5c3154c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f53af78-ab76-4359-b9cc-57193b581151","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.4456902} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.754352,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"c69fcc57ef8638f9cf63945f68fcbf4c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433028,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"c69fcc57ef8638f9cf63945f68fcbf4c","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.209709,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5658e490-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5658e490-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:05.870117159Z"}]},"request_id":"50ccd479-dd92-463e-8ca2-1e02bf87de8b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.4493551} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5658e490-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c/signaling 200 9ms","method":"POST","requestID":"5658e490-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c69fcc57ef8638f9cf63945f68fcbf4c","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"3e14eba11f676190852f1698104820a8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a"},"level":"info","message":"Building connection plan","requestID":"3e14eba11f676190852f1698104820a8"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"8c9eb55f-be16-47d4-b67a-5802e926b0c3"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"68f9c8c0-daf0-46b0-b5e9-50e3a83689f0"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b60a7eef-ef84-46fe-ad0f-2a8925d34e95"}]},"level":"info","message":"Built pairwise service configurations","requestID":"3e14eba11f676190852f1698104820a8"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"3e14eba11f676190852f1698104820a8"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c69fcc57ef8638f9cf63945f68fcbf4c"} gateway-1 | {"time_local":"05/May/2025:08:17:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c69fcc57ef8638f9cf63945f68fcbf4c"} device-1 | {"level":"info","message":"GET /devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643? 200 9ms","method":"GET","requestID":"c69fcc57ef8638f9cf63945f68fcbf4c","responseTime":9,"status":200,"url":"/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"565ab950-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg","level":"info","message":"auth send jwt","requestID":"83022332d55497042b894c6baae59097"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"83022332d55497042b894c6baae59097","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.912088,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"83022332d55497042b894c6baae59097"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"565ab950-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433028,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"565ab950-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.907768,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"83022332d55497042b894c6baae59097","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433028,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"83022332d55497042b894c6baae59097","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa521d913-e74c-48f5-8fd9-fffdb5c3154c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa521d913-e74c-48f5-8fd9-fffdb5c3154c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:05.914970074Z"}]},"request_id":"198b693c-f759-4f78-b7e6-8faf968a56d1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.4890833} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"83022332d55497042b894c6baae59097","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"917fcbc4-b90b-410b-a5c7-738a845be953","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.4904947} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0406374a-57fd-4e04-b9a7-e88412fd1e76","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.4907446} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"83022332d55497042b894c6baae59097"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"565ab950-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/relations/update"} gateway-1 | {"time_local":"05/May/2025:08:17:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83022332d55497042b894c6baae59097"} device-1 | {"level":"info","message":"GET /devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c? 200 12ms","method":"GET","requestID":"83022332d55497042b894c6baae59097","responseTime":12,"status":200,"url":"/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"565ab950-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"565ab950-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0dc4cbb4-9361-4e32-b558-d8019c6a6bd2'","requestID":"565ab950-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0dc4cbb4-9361-4e32-b558-d8019c6a6bd2'","requestID":"565ab950-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"565ab950-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 82ms","method":"POST","requestID":"565ab950-2989-11f0-8876-6f29f2a860cb","responseTime":82,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"565ab950-2989-11f0-8876-6f29f2a860cb"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/0dc4cbb4-9361-4e32-b558-d8019c6a6bd2","device":"a521d913-e74c-48f5-8fd9-fffdb5c3154c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/0dc4cbb4-9361-4e32-b558-d8019c6a6bd2","device":"88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"3e14eba11f676190852f1698104820a8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"566edd90-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4ca7c9c0-90c1-4420-a829-c8fbe1b824c2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.5896854} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.485813,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"566edd90-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"566edd90-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"566edd90-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643/signaling 200 9ms","method":"POST","requestID":"566edd90-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643/signaling"} device-1 | {"device":"a521d913-e74c-48f5-8fd9-fffdb5c3154c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"a521d913-e74c-48f5-8fd9-fffdb5c3154c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"56708b40-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa521d913-e74c-48f5-8fd9-fffdb5c3154c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f8f4837e-f82a-481a-a1a0-5f8b203f7e35","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.6006868} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.828684,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"56708b40-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"56708b40-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"device":"88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"56708b40-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c/signaling 200 34ms","method":"POST","requestID":"56708b40-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 2222073196155028449 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:itk6\r\na=ice-pwd:wJ5u8U345uAEAMSuIYhsx1r0\r\na=ice-options:trickle\r\na=fingerprint:sha-256 9F:48:06:72:7D:3B:E4:B2:E8:79:FC:07:0D:01:57:C2:7F:A6:EE:84:62:D1:DC:88:7B:2A:A7:2F:20:27:48:53\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 6645638255480347033 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:C8Ol\r\na=ice-pwd:T/7txijCcDXupiO8aAJw5BLd\r\na=ice-options:trickle\r\na=fingerprint:sha-256 F2:D5:EF:C7:9C:48:5D:1F:BD:28:A7:39:80:5A:9E:A3:31:60:7D:17:17:89:2D:18:AD:19:AF:61:5D:05:F5:0A\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"a521d913-e74c-48f5-8fd9-fffdb5c3154c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2241641025 1 udp 2113937151 9fce3192-c465-46d9-95ea-a632a94e3ca8.local 56400 typ host generation 0 ufrag C8Ol network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a521d913-e74c-48f5-8fd9-fffdb5c3154c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3112069837 1 udp 2113937151 47880bb7-05ef-40cf-a8d2-51dca2040d30.local 46792 typ host generation 0 ufrag itk6 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0dc4cbb4-9361-4e32-b558-d8019c6a6bd2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0dc4cbb4-9361-4e32-b558-d8019c6a6bd2","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a521d913-e74c-48f5-8fd9-fffdb5c3154c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fc3676d3194c234f22c214ad6bb45fbd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fc3676d3194c234f22c214ad6bb45fbd","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"a521d913-e74c-48f5-8fd9-fffdb5c3154c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0dc4cbb4-9361-4e32-b558-d8019c6a6bd2"}}},"level":"info","message":"received a callback","requestID":"fc3676d3194c234f22c214ad6bb45fbd"} device-1 | {"device":"a521d913-e74c-48f5-8fd9-fffdb5c3154c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"fc3676d3194c234f22c214ad6bb45fbd","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch","requestID":"fc3676d3194c234f22c214ad6bb45fbd"} device-1 | {"device":"a521d913-e74c-48f5-8fd9-fffdb5c3154c","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"0dc4cbb4-9361-4e32-b558-d8019c6a6bd2","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"0dc4cbb4-9361-4e32-b558-d8019c6a6bd2","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0dc4cbb4-9361-4e32-b558-d8019c6a6bd2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0dc4cbb4-9361-4e32-b558-d8019c6a6bd2","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"73f25e07be0dfa09c9089b0f1d9d5663","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"73f25e07be0dfa09c9089b0f1d9d5663","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0dc4cbb4-9361-4e32-b558-d8019c6a6bd2"}}},"level":"info","message":"received a callback","requestID":"73f25e07be0dfa09c9089b0f1d9d5663"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"56876ea0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0dc4cbb4-9361-4e32-b558-d8019c6a6bd2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4afa5bef-c2b4-48e1-a051-f21fa0ae81d1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.7698371} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":22.232169,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0dc4cbb4-9361-4e32-b558-d8019c6a6bd2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"56876ea0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0dc4cbb4-9361-4e32-b558-d8019c6a6bd2","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"56876ea0-2989-11f0-8876-6f29f2a860cb","responseTime":26,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"56876ea0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/0dc4cbb4-9361-4e32-b558-d8019c6a6bd2 200 29ms","method":"GET","requestID":"56876ea0-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/peerconnections/0dc4cbb4-9361-4e32-b558-d8019c6a6bd2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg","level":"info","message":"auth send jwt","requestID":"9487f9fe175da6cbddc8b9f1875f0cbc"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9487f9fe175da6cbddc8b9f1875f0cbc","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a","requestID":"9487f9fe175da6cbddc8b9f1875f0cbc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 55ms","method":"POST","requestID":"73f25e07be0dfa09c9089b0f1d9d5663","responseTime":55,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} gateway-1 | {"time_local":"05/May/2025:08:17:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.081","http_referrer":"","http_user_agent":"node-fetch","requestID":"73f25e07be0dfa09c9089b0f1d9d5663"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":22.6747,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"56929230-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"9487f9fe175da6cbddc8b9f1875f0cbc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433028,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg"} authorization-1 | {"level":"info","message":"POST /authorize 200 25ms","method":"POST","requestID":"9487f9fe175da6cbddc8b9f1875f0cbc","responseTime":25,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa521d913-e74c-48f5-8fd9-fffdb5c3154c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4bc85906-1938-456d-9469-064f3111188e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.8239424} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.361768,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"56929230-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a","requestID":"9487f9fe175da6cbddc8b9f1875f0cbc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"56929230-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"05/May/2025:08:17:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9487f9fe175da6cbddc8b9f1875f0cbc"} experiment-1 | {"level":"info","message":"GET /experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a 200 32ms","method":"GET","requestID":"9487f9fe175da6cbddc8b9f1875f0cbc","responseTime":32,"status":200,"url":"/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"56929230-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c/signaling 200 9ms","method":"POST","requestID":"56929230-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg","level":"info","message":"auth send jwt","requestID":"3f73b6029c2baea8eec848c214dab11e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3f73b6029c2baea8eec848c214dab11e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"56943fe0-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a","requestID":"3f73b6029c2baea8eec848c214dab11e"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.183875,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3f73b6029c2baea8eec848c214dab11e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433028,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3f73b6029c2baea8eec848c214dab11e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd2b224a-e1b2-470c-a456-bef458d4eddb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.8354359} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.435761,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"56943fe0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"56943fe0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"56943fe0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643/signaling 200 9ms","method":"POST","requestID":"56943fe0-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a"},"level":"info","message":"Attempting to finish experiment","requestID":"3f73b6029c2baea8eec848c214dab11e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"5699be20-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.695203,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0dc4cbb4-9361-4e32-b558-d8019c6a6bd2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5699be20-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/0dc4cbb4-9361-4e32-b558-d8019c6a6bd2","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433028,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOH0.IwCuhi2tvEw7BBr1JBqLLueV65X0YJE8PeG5rhNIADg"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"5699be20-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0dc4cbb4-9361-4e32-b558-d8019c6a6bd2","device":"a521d913-e74c-48f5-8fd9-fffdb5c3154c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0dc4cbb4-9361-4e32-b558-d8019c6a6bd2","device":"88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0dc4cbb4-9361-4e32-b558-d8019c6a6bd2' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0dc4cbb4-9361-4e32-b558-d8019c6a6bd2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0dc4cbb4-9361-4e32-b558-d8019c6a6bd2","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0dc4cbb4-9361-4e32-b558-d8019c6a6bd2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0dc4cbb4-9361-4e32-b558-d8019c6a6bd2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"02eaa288-0715-4590-8e0e-24aa3c2aa7d4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.8783107} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c18f2eb9-43c4-4ffa-ae0c-be74e56c9883","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.8785737} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7d13b69f276387bc767d641c00cadfd4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7d13b69f276387bc767d641c00cadfd4","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"45732b87bd45bfd337c759d61eae2ace","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"5699be20-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"45732b87bd45bfd337c759d61eae2ace","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0dc4cbb4-9361-4e32-b558-d8019c6a6bd2"}}},"level":"info","message":"received a callback","requestID":"7d13b69f276387bc767d641c00cadfd4"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0dc4cbb4-9361-4e32-b558-d8019c6a6bd2"}}},"level":"info","message":"received a callback","requestID":"45732b87bd45bfd337c759d61eae2ace"} device-1 | {"data":{"peerconnection":"0dc4cbb4-9361-4e32-b558-d8019c6a6bd2","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"5699be20-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/0dc4cbb4-9361-4e32-b558-d8019c6a6bd2 204 56ms","method":"DELETE","requestID":"5699be20-2989-11f0-8876-6f29f2a860cb","responseTime":56,"status":204,"url":"/peerconnections/0dc4cbb4-9361-4e32-b558-d8019c6a6bd2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a"},"level":"info","message":"Successfully finished experiment","requestID":"3f73b6029c2baea8eec848c214dab11e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"56a83d10-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa521d913-e74c-48f5-8fd9-fffdb5c3154c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2c888071-e528-484d-a389-6dee03ee9f84","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.9655652} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.604398,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"56a83d10-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"56a83d10-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"56a83d10-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c/signaling 200 8ms","method":"POST","requestID":"56a83d10-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"56a9eac0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F37f18fb9-8479-46c8-96c9-d5ae6ec53e4a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F37f18fb9-8479-46c8-96c9-d5ae6ec53e4a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"1c7e1920-87f8-47f2-98f9-f96c9aa38f81","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.972395} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d5759292-7b4a-4730-bba2-4abd3af07513","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.9727347} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"3f73b6029c2baea8eec848c214dab11e","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"03c36a98-eccb-4e28-870f-62cb9ef75b7c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433028.9768527} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.560955,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"56a9eac0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"56a9eac0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"56a9eac0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643/signaling 200 9ms","method":"POST","requestID":"56a9eac0-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a","requestID":"3f73b6029c2baea8eec848c214dab11e"} gateway-1 | {"time_local":"05/May/2025:08:17:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.249","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3f73b6029c2baea8eec848c214dab11e"} experiment-1 | {"level":"info","message":"DELETE /experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a 204 247ms","method":"DELETE","requestID":"3f73b6029c2baea8eec848c214dab11e","responseTime":247,"status":204,"url":"/experiments/37f18fb9-8479-46c8-96c9-d5ae6ec53e4a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 200ms","method":"POST","requestID":"7d13b69f276387bc767d641c00cadfd4","responseTime":200,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.228","http_referrer":"","http_user_agent":"node-fetch","requestID":"7d13b69f276387bc767d641c00cadfd4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 223ms","method":"POST","requestID":"45732b87bd45bfd337c759d61eae2ace","responseTime":223,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.227","http_referrer":"","http_user_agent":"node-fetch","requestID":"45732b87bd45bfd337c759d61eae2ace"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOX0.jbmh7ViwvfFP-y_K0OitzrTIwN-b0PCj-nk6ZUT8Mn4","level":"info","message":"auth send jwt","requestID":"bc7db0d64d79f00d2f293ce9efeac743"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"bc7db0d64d79f00d2f293ce9efeac743","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bc7db0d64d79f00d2f293ce9efeac743"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/88a16f2b-cfc4-41c6-90c9-bf2ff46fe643' closed"} gateway-1 | {"time_local":"05/May/2025:08:17:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2542","request_time":"1.023","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c0b3798c5462c40155418e6f5fb59fba"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:09Z"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.21092,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"bc7db0d64d79f00d2f293ce9efeac743","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433029,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOX0.jbmh7ViwvfFP-y_K0OitzrTIwN-b0PCj-nk6ZUT8Mn4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bc7db0d64d79f00d2f293ce9efeac743","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"05/May/2025:08:17:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2540","request_time":"1.011","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c7c696d14022d9ad6354d5000a80dbee"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a521d913-e74c-48f5-8fd9-fffdb5c3154c' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc42c8bd-3a81-433a-aff0-d1c149199417","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"20e75ac2-f400-45e3-82b3-3e375ef61011","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433029.1533527} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"bc7db0d64d79f00d2f293ce9efeac743","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95217885-0c0c-4dce-a649-4a66c2f1faab","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433029.1575778} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"bc7db0d64d79f00d2f293ce9efeac743","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc42c8bd-3a81-433a-aff0-d1c149199417","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"b000ca36-4ab0-4f09-a324-a7e207cb1bf2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433029.1683536} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f6766816-3397-4c86-9947-e2901b8d9832","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433029.1685565} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"bc7db0d64d79f00d2f293ce9efeac743","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc42c8bd-3a81-433a-aff0-d1c149199417","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc42c8bd-3a81-433a-aff0-d1c149199417","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:09.168333191Z"}]},"request_id":"f928c94d-9507-44ee-ae43-54018fa516e2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433029.1718664} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bc7db0d64d79f00d2f293ce9efeac743","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bc7db0d64d79f00d2f293ce9efeac743"} gateway-1 | {"time_local":"05/May/2025:08:17:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bc7db0d64d79f00d2f293ce9efeac743"} device-1 | {"level":"info","message":"POST /devices? 201 66ms","method":"POST","requestID":"bc7db0d64d79f00d2f293ce9efeac743","responseTime":66,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOX0.jbmh7ViwvfFP-y_K0OitzrTIwN-b0PCj-nk6ZUT8Mn4","level":"info","message":"auth send jwt","requestID":"d46d179c9aa137966956360a562757c9"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"d46d179c9aa137966956360a562757c9","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d46d179c9aa137966956360a562757c9"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:09Z"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.729432,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"d46d179c9aa137966956360a562757c9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433029,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAyOX0.jbmh7ViwvfFP-y_K0OitzrTIwN-b0PCj-nk6ZUT8Mn4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d46d179c9aa137966956360a562757c9","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19313ca4-8779-4f9b-aecd-a3c354392bc2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e7bbffc3-02a0-42f3-95e6-487fc7cc52bd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433029.2150598} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d46d179c9aa137966956360a562757c9","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"769e523e-d55a-4cb7-bd85-e40c2a491573","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433029.2184749} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"d46d179c9aa137966956360a562757c9","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19313ca4-8779-4f9b-aecd-a3c354392bc2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"9c8a4ba5-e9ca-472b-aa3d-71c4670a1c4f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433029.255307} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"98c6f240-41e7-448c-9081-f89a24f9af36","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433029.2554276} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"d46d179c9aa137966956360a562757c9","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19313ca4-8779-4f9b-aecd-a3c354392bc2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19313ca4-8779-4f9b-aecd-a3c354392bc2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:09.255279759Z"}]},"request_id":"f3ae789d-13fa-457c-b1f7-56c8241afa2a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433029.2586496} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d46d179c9aa137966956360a562757c9","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d46d179c9aa137966956360a562757c9"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"d46d179c9aa137966956360a562757c9","responseTime":59,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"05/May/2025:08:17:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.086","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d46d179c9aa137966956360a562757c9"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"40353b02776db3bdf4078897596f8720","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"40353b02776db3bdf4078897596f8720","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:17:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/19313ca4-8779-4f9b-aecd-a3c354392bc2/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"40353b02776db3bdf4078897596f8720"} device-1 | {"level":"info","message":"OPTIONS /devices/19313ca4-8779-4f9b-aecd-a3c354392bc2/websocket 200 1ms","method":"OPTIONS","requestID":"40353b02776db3bdf4078897596f8720","responseTime":1,"status":200,"url":"/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d14a4f48ea36e1fad4861db8aa4e06de","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d14a4f48ea36e1fad4861db8aa4e06de","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:17:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/cc42c8bd-3a81-433a-aff0-d1c149199417/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d14a4f48ea36e1fad4861db8aa4e06de"} device-1 | {"level":"info","message":"OPTIONS /devices/cc42c8bd-3a81-433a-aff0-d1c149199417/websocket 200 1ms","method":"OPTIONS","requestID":"d14a4f48ea36e1fad4861db8aa4e06de","responseTime":1,"status":200,"url":"/devices/cc42c8bd-3a81-433a-aff0-d1c149199417/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMX0.5wutIYQMrZhLhzQPwsfxdJX1K9ppd_3omqyLm7MLC_o","level":"info","message":"auth send jwt","requestID":"768749151b1eaacab093ee6dfe8cf79c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"768749151b1eaacab093ee6dfe8cf79c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"768749151b1eaacab093ee6dfe8cf79c"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.102199,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"768749151b1eaacab093ee6dfe8cf79c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433031,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMX0.5wutIYQMrZhLhzQPwsfxdJX1K9ppd_3omqyLm7MLC_o"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMX0.5wutIYQMrZhLhzQPwsfxdJX1K9ppd_3omqyLm7MLC_o","level":"info","message":"auth send jwt","requestID":"54f04c8c9a9562547a3eeac059e69539"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"768749151b1eaacab093ee6dfe8cf79c","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"54f04c8c9a9562547a3eeac059e69539","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"54f04c8c9a9562547a3eeac059e69539"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.300172,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"54f04c8c9a9562547a3eeac059e69539","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433031,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMX0.5wutIYQMrZhLhzQPwsfxdJX1K9ppd_3omqyLm7MLC_o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"54f04c8c9a9562547a3eeac059e69539","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"768749151b1eaacab093ee6dfe8cf79c"} device-1 | {"level":"info","message":"POST /devices/19313ca4-8779-4f9b-aecd-a3c354392bc2/websocket 200 23ms","method":"POST","requestID":"768749151b1eaacab093ee6dfe8cf79c","responseTime":23,"status":200,"url":"/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2/websocket"} gateway-1 | {"time_local":"05/May/2025:08:17:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/19313ca4-8779-4f9b-aecd-a3c354392bc2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"768749151b1eaacab093ee6dfe8cf79c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"54f04c8c9a9562547a3eeac059e69539"} gateway-1 | {"time_local":"05/May/2025:08:17:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/cc42c8bd-3a81-433a-aff0-d1c149199417/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.033","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"54f04c8c9a9562547a3eeac059e69539"} device-1 | {"level":"info","message":"POST /devices/cc42c8bd-3a81-433a-aff0-d1c149199417/websocket 200 26ms","method":"POST","requestID":"54f04c8c9a9562547a3eeac059e69539","responseTime":26,"status":200,"url":"/devices/cc42c8bd-3a81-433a-aff0-d1c149199417/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMX0.5wutIYQMrZhLhzQPwsfxdJX1K9ppd_3omqyLm7MLC_o","level":"info","message":"auth send jwt","requestID":"59a001b2fd06c224a709feff58e12738"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"59a001b2fd06c224a709feff58e12738","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"59a001b2fd06c224a709feff58e12738"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703806,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"59a001b2fd06c224a709feff58e12738","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433031,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMX0.5wutIYQMrZhLhzQPwsfxdJX1K9ppd_3omqyLm7MLC_o"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"59a001b2fd06c224a709feff58e12738","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc42c8bd-3a81-433a-aff0-d1c149199417","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc42c8bd-3a81-433a-aff0-d1c149199417","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:09.168333191Z"}]},"request_id":"144afbcd-3e78-4e48-872e-7426c9f19e90","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433031.5552325} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"59a001b2fd06c224a709feff58e12738","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"59a001b2fd06c224a709feff58e12738"} device-1 | {"level":"info","message":"GET /devices/cc42c8bd-3a81-433a-aff0-d1c149199417? 200 10ms","method":"GET","requestID":"59a001b2fd06c224a709feff58e12738","responseTime":10,"status":200,"url":"/devices/cc42c8bd-3a81-433a-aff0-d1c149199417?"} gateway-1 | {"time_local":"05/May/2025:08:17:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cc42c8bd-3a81-433a-aff0-d1c149199417? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"59a001b2fd06c224a709feff58e12738"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMX0.5wutIYQMrZhLhzQPwsfxdJX1K9ppd_3omqyLm7MLC_o","level":"info","message":"auth send jwt","requestID":"2e1509b08a256a7c4ded73f33c831fd5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2e1509b08a256a7c4ded73f33c831fd5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2e1509b08a256a7c4ded73f33c831fd5"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.411569,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2e1509b08a256a7c4ded73f33c831fd5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433031,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMX0.5wutIYQMrZhLhzQPwsfxdJX1K9ppd_3omqyLm7MLC_o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2e1509b08a256a7c4ded73f33c831fd5","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19313ca4-8779-4f9b-aecd-a3c354392bc2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19313ca4-8779-4f9b-aecd-a3c354392bc2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:09.255279759Z"}]},"request_id":"db196176-5418-43b2-9b67-3af4a9aeb524","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433031.570607} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2e1509b08a256a7c4ded73f33c831fd5","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2e1509b08a256a7c4ded73f33c831fd5"} gateway-1 | {"time_local":"05/May/2025:08:17:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/19313ca4-8779-4f9b-aecd-a3c354392bc2? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2e1509b08a256a7c4ded73f33c831fd5"} device-1 | {"level":"info","message":"GET /devices/19313ca4-8779-4f9b-aecd-a3c354392bc2? 200 10ms","method":"GET","requestID":"2e1509b08a256a7c4ded73f33c831fd5","responseTime":10,"status":200,"url":"/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMX0.5wutIYQMrZhLhzQPwsfxdJX1K9ppd_3omqyLm7MLC_o","level":"info","message":"auth send jwt","requestID":"c6c81af2ba463c6908584559d72cdfac"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c6c81af2ba463c6908584559d72cdfac","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"c6c81af2ba463c6908584559d72cdfac"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.639044,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"c6c81af2ba463c6908584559d72cdfac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433031,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMX0.5wutIYQMrZhLhzQPwsfxdJX1K9ppd_3omqyLm7MLC_o"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"c6c81af2ba463c6908584559d72cdfac","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3"},"level":"info","message":"Attempting to run experiment","requestID":"c6c81af2ba463c6908584559d72cdfac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3"},"level":"info","message":"Attempting to book experiment","requestID":"c6c81af2ba463c6908584559d72cdfac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3"},"level":"info","message":"Successfully booked experiment","requestID":"c6c81af2ba463c6908584559d72cdfac"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"583e1f50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"583e4660-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.15692,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"583e1f50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433031,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMX0.5wutIYQMrZhLhzQPwsfxdJX1K9ppd_3omqyLm7MLC_o"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"583e1f50-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.025751,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"583e4660-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433031,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMX0.5wutIYQMrZhLhzQPwsfxdJX1K9ppd_3omqyLm7MLC_o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"583e4660-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc42c8bd-3a81-433a-aff0-d1c149199417","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc42c8bd-3a81-433a-aff0-d1c149199417","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:09.168333191Z"}]},"request_id":"d1aa4244-bb09-4b87-b310-33c8f6a5307f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433031.6563556} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"583e1f50-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19313ca4-8779-4f9b-aecd-a3c354392bc2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19313ca4-8779-4f9b-aecd-a3c354392bc2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:09.255279759Z"}]},"request_id":"dca675cc-00ec-408c-8fbb-7290a48a9062","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433031.6573544} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"583e4660-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"583e1f50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/cc42c8bd-3a81-433a-aff0-d1c149199417? 200 40ms","method":"GET","requestID":"583e1f50-2989-11f0-8876-6f29f2a860cb","responseTime":40,"status":200,"url":"/devices/cc42c8bd-3a81-433a-aff0-d1c149199417?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"583e4660-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/19313ca4-8779-4f9b-aecd-a3c354392bc2? 200 39ms","method":"GET","requestID":"583e4660-2989-11f0-8876-6f29f2a860cb","responseTime":39,"status":200,"url":"/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3"},"level":"info","message":"Setting up experiment","requestID":"c6c81af2ba463c6908584559d72cdfac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"c6c81af2ba463c6908584559d72cdfac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3"},"level":"info","message":"Successfully locked booking for experiment","requestID":"c6c81af2ba463c6908584559d72cdfac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"c6c81af2ba463c6908584559d72cdfac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"c6c81af2ba463c6908584559d72cdfac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3"},"level":"info","message":"Attempting to update booking for experiment","requestID":"c6c81af2ba463c6908584559d72cdfac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3"},"level":"info","message":"Successfully updated booking for experiment","requestID":"c6c81af2ba463c6908584559d72cdfac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3"},"level":"info","message":"Successfully set up experiment","requestID":"c6c81af2ba463c6908584559d72cdfac"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"58524390-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"585291b0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5852b8c0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.028111,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"58524390-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433031,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMX0.5wutIYQMrZhLhzQPwsfxdJX1K9ppd_3omqyLm7MLC_o"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3"},"level":"info","message":"Successfully running experiment","requestID":"c6c81af2ba463c6908584559d72cdfac"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"58524390-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.834969,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"585291b0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433031,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMX0.5wutIYQMrZhLhzQPwsfxdJX1K9ppd_3omqyLm7MLC_o"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"585291b0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc42c8bd-3a81-433a-aff0-d1c149199417","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e4f1abd4-e56b-4ca9-bf13-e368bb66b2f5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433031.7630138} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.552406,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5852b8c0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"5852b8c0-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19313ca4-8779-4f9b-aecd-a3c354392bc2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19313ca4-8779-4f9b-aecd-a3c354392bc2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:09.255279759Z"}]},"request_id":"988409f7-9a67-4a1e-9a63-ce847ade4e5e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433031.765693} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5852b8c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/cc42c8bd-3a81-433a-aff0-d1c149199417/signaling 200 37ms","method":"POST","requestID":"5852b8c0-2989-11f0-8876-6f29f2a860cb","responseTime":37,"status":200,"url":"/devices/cc42c8bd-3a81-433a-aff0-d1c149199417/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","method":"POST","requestID":"585291b0-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc42c8bd-3a81-433a-aff0-d1c149199417","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc42c8bd-3a81-433a-aff0-d1c149199417","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:09.168333191Z"}]},"request_id":"14e567aa-9a4b-4a26-b494-bb44d9ceb441","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433031.7933285} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"58524390-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5858fa50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"585291b0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/19313ca4-8779-4f9b-aecd-a3c354392bc2? 200 43ms","method":"GET","requestID":"585291b0-2989-11f0-8876-6f29f2a860cb","responseTime":43,"status":200,"url":"/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"58524390-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/cc42c8bd-3a81-433a-aff0-d1c149199417? 200 46ms","method":"GET","requestID":"58524390-2989-11f0-8876-6f29f2a860cb","responseTime":46,"status":200,"url":"/devices/cc42c8bd-3a81-433a-aff0-d1c149199417?"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1f14b271-ab15-44f8-a85b-59064fe7f3a3#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1f14b271-ab15-44f8-a85b-59064fe7f3a3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"f564237c-d64d-42d2-9116-85751647376c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433031.8015366} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19313ca4-8779-4f9b-aecd-a3c354392bc2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4c2d82f7-c286-4f95-bce0-d39bc5a4790f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433031.8017619} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5859bda0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c311b361-7651-4899-b868-b61c392873e2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433031.8018208} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"c6c81af2ba463c6908584559d72cdfac","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.837544,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5858fa50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"5858fa50-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:11Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5858fa50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/19313ca4-8779-4f9b-aecd-a3c354392bc2/signaling 200 10ms","method":"POST","requestID":"5858fa50-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2/signaling"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc42c8bd-3a81-433a-aff0-d1c149199417","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8adde6c0-278d-4ea7-b3ec-38c12c52d26d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433031.8087435} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.51579,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5859bda0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5859bda0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"c6c81af2ba463c6908584559d72cdfac"} gateway-1 | {"time_local":"05/May/2025:08:17:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.237","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c6c81af2ba463c6908584559d72cdfac"} experiment-1 | {"level":"info","message":"POST /experiments? 201 234ms","method":"POST","requestID":"c6c81af2ba463c6908584559d72cdfac","responseTime":234,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5859bda0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/cc42c8bd-3a81-433a-aff0-d1c149199417/signaling 200 10ms","method":"POST","requestID":"5859bda0-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/cc42c8bd-3a81-433a-aff0-d1c149199417/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"585b9260-2989-11f0-8876-6f29f2a860cb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMX0.5wutIYQMrZhLhzQPwsfxdJX1K9ppd_3omqyLm7MLC_o","level":"info","message":"auth send jwt","requestID":"6823480c272ba8ed0c636168a047b625"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6823480c272ba8ed0c636168a047b625","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:11Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6823480c272ba8ed0c636168a047b625"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19313ca4-8779-4f9b-aecd-a3c354392bc2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fd12c0dd-fe82-4273-83ea-979e01822c40","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433031.8433542} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.790538,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6823480c272ba8ed0c636168a047b625","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433031,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMX0.5wutIYQMrZhLhzQPwsfxdJX1K9ppd_3omqyLm7MLC_o"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"6823480c272ba8ed0c636168a047b625","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.024245,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"585b9260-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"585b9260-2989-11f0-8876-6f29f2a860cb","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"585b9260-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/19313ca4-8779-4f9b-aecd-a3c354392bc2/signaling 200 35ms","method":"POST","requestID":"585b9260-2989-11f0-8876-6f29f2a860cb","responseTime":35,"status":200,"url":"/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"c6c81af2ba463c6908584559d72cdfac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3"},"level":"info","message":"Building connection plan","requestID":"c6c81af2ba463c6908584559d72cdfac"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"5b791264-c7f5-40c1-9eda-9ff9c53d58ba"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"a0275c39-f042-44e8-8cd5-5edcc0d4d20e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"1fe3dc4f-c1d1-4723-a7f8-ab86205d7bb0"}]},"level":"info","message":"Built pairwise service configurations","requestID":"c6c81af2ba463c6908584559d72cdfac"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc42c8bd-3a81-433a-aff0-d1c149199417","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc42c8bd-3a81-433a-aff0-d1c149199417","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:09.168333191Z"}]},"request_id":"e71093a5-5816-48b9-88f7-1ee01c864ff1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433031.8499284} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"c6c81af2ba463c6908584559d72cdfac"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"6823480c272ba8ed0c636168a047b625","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"5861ace0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6823480c272ba8ed0c636168a047b625"} gateway-1 | {"time_local":"05/May/2025:08:17:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cc42c8bd-3a81-433a-aff0-d1c149199417? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6823480c272ba8ed0c636168a047b625"} device-1 | {"level":"info","message":"GET /devices/cc42c8bd-3a81-433a-aff0-d1c149199417? 200 16ms","method":"GET","requestID":"6823480c272ba8ed0c636168a047b625","responseTime":16,"status":200,"url":"/devices/cc42c8bd-3a81-433a-aff0-d1c149199417?"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.757509,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5861ace0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433031,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMX0.5wutIYQMrZhLhzQPwsfxdJX1K9ppd_3omqyLm7MLC_o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5861ace0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMX0.5wutIYQMrZhLhzQPwsfxdJX1K9ppd_3omqyLm7MLC_o","level":"info","message":"auth send jwt","requestID":"11947922e646c85079dd1282f9a1a842"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"11947922e646c85079dd1282f9a1a842","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"11947922e646c85079dd1282f9a1a842"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.691793,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"11947922e646c85079dd1282f9a1a842","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433031,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMX0.5wutIYQMrZhLhzQPwsfxdJX1K9ppd_3omqyLm7MLC_o"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"11947922e646c85079dd1282f9a1a842","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"10613208-d363-4fd9-bf86-b37fad199fd1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433031.8916738} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"072d2deb-344a-4c6a-91b9-9850602cc929","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433031.8918748} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19313ca4-8779-4f9b-aecd-a3c354392bc2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19313ca4-8779-4f9b-aecd-a3c354392bc2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:09.255279759Z"}]},"request_id":"7cae0f0c-adfb-42fb-a4fd-8be922648af8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433031.892641} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"5861ace0-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"11947922e646c85079dd1282f9a1a842","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"11947922e646c85079dd1282f9a1a842"} device-1 | {"level":"info","message":"GET /devices/19313ca4-8779-4f9b-aecd-a3c354392bc2? 200 36ms","method":"GET","requestID":"11947922e646c85079dd1282f9a1a842","responseTime":36,"status":200,"url":"/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2?"} gateway-1 | {"time_local":"05/May/2025:08:17:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/19313ca4-8779-4f9b-aecd-a3c354392bc2? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"11947922e646c85079dd1282f9a1a842"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"5861ace0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"5861ace0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/30abb557-05e1-44f1-aefd-b315655b2ca4'","requestID":"5861ace0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/30abb557-05e1-44f1-aefd-b315655b2ca4'","requestID":"5861ace0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"5861ace0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 59ms","method":"POST","requestID":"5861ace0-2989-11f0-8876-6f29f2a860cb","responseTime":59,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"5861ace0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/30abb557-05e1-44f1-aefd-b315655b2ca4","device":"cc42c8bd-3a81-433a-aff0-d1c149199417","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/30abb557-05e1-44f1-aefd-b315655b2ca4","device":"19313ca4-8779-4f9b-aecd-a3c354392bc2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"c6c81af2ba463c6908584559d72cdfac"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"587227a0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc42c8bd-3a81-433a-aff0-d1c149199417","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0be85eb0-cc55-4ffa-9057-f95602fdcffb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433031.9664867} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.161519,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"587227a0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"587227a0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"587227a0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/cc42c8bd-3a81-433a-aff0-d1c149199417/signaling 200 8ms","method":"POST","requestID":"587227a0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/cc42c8bd-3a81-433a-aff0-d1c149199417/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5873ae40-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19313ca4-8779-4f9b-aecd-a3c354392bc2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4bfc6c05-caef-4e4d-81c8-8a06de7ad3c5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433031.9765694} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.857473,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5873ae40-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5873ae40-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"19313ca4-8779-4f9b-aecd-a3c354392bc2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"19313ca4-8779-4f9b-aecd-a3c354392bc2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5873ae40-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/19313ca4-8779-4f9b-aecd-a3c354392bc2/signaling 200 9ms","method":"POST","requestID":"5873ae40-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2/signaling"} device-1 | {"device":"cc42c8bd-3a81-433a-aff0-d1c149199417","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"cc42c8bd-3a81-433a-aff0-d1c149199417","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 8270703236273379412 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:XSR3\r\na=ice-pwd:/k0BghuaYNY/f1qFihBoZU6E\r\na=ice-options:trickle\r\na=fingerprint:sha-256 4A:0E:EA:F7:2D:0B:B0:E4:51:FE:0D:14:33:18:78:50:A5:9C:E5:81:21:64:DA:E9:CE:4A:36:1E:58:37:9A:8C\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"19313ca4-8779-4f9b-aecd-a3c354392bc2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 7683660460352639370 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:WOb0\r\na=ice-pwd:JzbliYGwEK/ovoNDFSvswS7j\r\na=ice-options:trickle\r\na=fingerprint:sha-256 CE:32:02:F5:F1:1F:46:48:9F:C8:9B:85:0F:0F:5B:63:BD:11:52:5E:6A:1C:97:1F:D9:60:53:6D:14:9D:BD:F8\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"cc42c8bd-3a81-433a-aff0-d1c149199417","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1326042567 1 udp 2113937151 dd5c290d-6010-44ee-8c74-c5fcce36bba4.local 54361 typ host generation 0 ufrag WOb0 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"cc42c8bd-3a81-433a-aff0-d1c149199417","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417'"} device-1 | {"content":{"candidate":"candidate:332558741 1 udp 2113937151 5dac1d7e-4463-4a48-9ac9-6ae1338b370b.local 59990 typ host generation 0 ufrag XSR3 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"19313ca4-8779-4f9b-aecd-a3c354392bc2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"19313ca4-8779-4f9b-aecd-a3c354392bc2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/30abb557-05e1-44f1-aefd-b315655b2ca4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"30abb557-05e1-44f1-aefd-b315655b2ca4","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"cc42c8bd-3a81-433a-aff0-d1c149199417","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"19313ca4-8779-4f9b-aecd-a3c354392bc2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9f004be97a85f6683530dcaad1d3ac95","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9f004be97a85f6683530dcaad1d3ac95","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"cc42c8bd-3a81-433a-aff0-d1c149199417","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/30abb557-05e1-44f1-aefd-b315655b2ca4"}}},"level":"info","message":"received a callback","requestID":"9f004be97a85f6683530dcaad1d3ac95"} device-1 | {"device":"19313ca4-8779-4f9b-aecd-a3c354392bc2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"cc42c8bd-3a81-433a-aff0-d1c149199417","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} gateway-1 | {"time_local":"05/May/2025:08:17:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"9f004be97a85f6683530dcaad1d3ac95"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"9f004be97a85f6683530dcaad1d3ac95","responseTime":6,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"cc42c8bd-3a81-433a-aff0-d1c149199417","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"30abb557-05e1-44f1-aefd-b315655b2ca4","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"30abb557-05e1-44f1-aefd-b315655b2ca4","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/30abb557-05e1-44f1-aefd-b315655b2ca4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"30abb557-05e1-44f1-aefd-b315655b2ca4","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d09d35ebe05ff5263da15aeb73db0cfb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d09d35ebe05ff5263da15aeb73db0cfb","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/30abb557-05e1-44f1-aefd-b315655b2ca4"}}},"level":"info","message":"received a callback","requestID":"d09d35ebe05ff5263da15aeb73db0cfb"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"5881b800-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:12Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F30abb557-05e1-44f1-aefd-b315655b2ca4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"667ca9b0-6d37-481f-9eda-11984bba55ac","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433032.0814893} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":15.418886,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/30abb557-05e1-44f1-aefd-b315655b2ca4","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5881b800-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/30abb557-05e1-44f1-aefd-b315655b2ca4","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 18ms","method":"POST","requestID":"5881b800-2989-11f0-8876-6f29f2a860cb","responseTime":18,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"5881b800-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/30abb557-05e1-44f1-aefd-b315655b2ca4 200 25ms","method":"GET","requestID":"5881b800-2989-11f0-8876-6f29f2a860cb","responseTime":25,"status":200,"url":"/peerconnections/30abb557-05e1-44f1-aefd-b315655b2ca4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"d09d35ebe05ff5263da15aeb73db0cfb","responseTime":49,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"588bca20-2989-11f0-8876-6f29f2a860cb"} gateway-1 | {"time_local":"05/May/2025:08:17:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.078","http_referrer":"","http_user_agent":"node-fetch","requestID":"d09d35ebe05ff5263da15aeb73db0cfb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:12Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMn0.BWgLeczj3YUDrzcLQ7POof5g5rVAJ8Cnfwexsz2FyKw","level":"info","message":"auth send jwt","requestID":"ef7fbdd9a94c7b0c2f14885f54b720a4"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ef7fbdd9a94c7b0c2f14885f54b720a4","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc42c8bd-3a81-433a-aff0-d1c149199417","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"52cb33e7-9bed-450f-9d2c-a1e1a172db92","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433032.135447} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3","requestID":"ef7fbdd9a94c7b0c2f14885f54b720a4"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.731036,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"588bca20-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"588bca20-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:12Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.653553,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:12Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"588bca20-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"ef7fbdd9a94c7b0c2f14885f54b720a4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433032,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMn0.BWgLeczj3YUDrzcLQ7POof5g5rVAJ8Cnfwexsz2FyKw"} device-1 | {"level":"info","message":"POST /devices/cc42c8bd-3a81-433a-aff0-d1c149199417/signaling 200 9ms","method":"POST","requestID":"588bca20-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/cc42c8bd-3a81-433a-aff0-d1c149199417/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ef7fbdd9a94c7b0c2f14885f54b720a4","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"588d77d0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:12Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3","requestID":"ef7fbdd9a94c7b0c2f14885f54b720a4"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19313ca4-8779-4f9b-aecd-a3c354392bc2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"13bceab3-9fd8-4716-b87e-993b3cd46879","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433032.1463592} gateway-1 | {"time_local":"05/May/2025:08:17:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ef7fbdd9a94c7b0c2f14885f54b720a4"} experiment-1 | {"level":"info","message":"GET /experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3 200 11ms","method":"GET","requestID":"ef7fbdd9a94c7b0c2f14885f54b720a4","responseTime":11,"status":200,"url":"/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.976043,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"588d77d0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"588d77d0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMn0.BWgLeczj3YUDrzcLQ7POof5g5rVAJ8Cnfwexsz2FyKw","level":"info","message":"auth send jwt","requestID":"1747abc607eed25a579ca71a4b0a44c4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1747abc607eed25a579ca71a4b0a44c4","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3","requestID":"1747abc607eed25a579ca71a4b0a44c4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"588d77d0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/19313ca4-8779-4f9b-aecd-a3c354392bc2/signaling 200 37ms","method":"POST","requestID":"588d77d0-2989-11f0-8876-6f29f2a860cb","responseTime":37,"status":200,"url":"/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2/signaling"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:12Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.942354,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"1747abc607eed25a579ca71a4b0a44c4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433032,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMn0.BWgLeczj3YUDrzcLQ7POof5g5rVAJ8Cnfwexsz2FyKw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1747abc607eed25a579ca71a4b0a44c4","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3"},"level":"info","message":"Attempting to finish experiment","requestID":"1747abc607eed25a579ca71a4b0a44c4"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"58942e90-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:12Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.341178,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/30abb557-05e1-44f1-aefd-b315655b2ca4","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"58942e90-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/30abb557-05e1-44f1-aefd-b315655b2ca4","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433032,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMn0.BWgLeczj3YUDrzcLQ7POof5g5rVAJ8Cnfwexsz2FyKw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"58942e90-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/30abb557-05e1-44f1-aefd-b315655b2ca4","device":"cc42c8bd-3a81-433a-aff0-d1c149199417","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/30abb557-05e1-44f1-aefd-b315655b2ca4","device":"19313ca4-8779-4f9b-aecd-a3c354392bc2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/30abb557-05e1-44f1-aefd-b315655b2ca4' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/30abb557-05e1-44f1-aefd-b315655b2ca4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"30abb557-05e1-44f1-aefd-b315655b2ca4","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"01487f280de7d54a06b3be48e02e8e56","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F30abb557-05e1-44f1-aefd-b315655b2ca4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F30abb557-05e1-44f1-aefd-b315655b2ca4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"c9d177d1-4d6a-49ec-93c6-6b7a5267f6d4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433032.2299395} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"01487f280de7d54a06b3be48e02e8e56","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"97a0abf6579c0b337af56c634926d27f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"97a0abf6579c0b337af56c634926d27f","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/30abb557-05e1-44f1-aefd-b315655b2ca4"}}},"level":"info","message":"received a callback","requestID":"01487f280de7d54a06b3be48e02e8e56"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/30abb557-05e1-44f1-aefd-b315655b2ca4"}}},"level":"info","message":"received a callback","requestID":"97a0abf6579c0b337af56c634926d27f"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c7597e0f-127e-41b8-8edb-387aa041ccb7","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433032.2307565} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"58942e90-2989-11f0-8876-6f29f2a860cb","responseTime":38,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"58942e90-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/30abb557-05e1-44f1-aefd-b315655b2ca4 204 98ms","method":"DELETE","requestID":"58942e90-2989-11f0-8876-6f29f2a860cb","responseTime":98,"status":204,"url":"/peerconnections/30abb557-05e1-44f1-aefd-b315655b2ca4"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3"},"level":"info","message":"Successfully finished experiment","requestID":"1747abc607eed25a579ca71a4b0a44c4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"58a93d30-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:12Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc42c8bd-3a81-433a-aff0-d1c149199417","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c86b575-3116-493b-9c8d-babbdd7e6132","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433032.3283973} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.538463,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"58a93d30-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"58a93d30-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"58a93d30-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/cc42c8bd-3a81-433a-aff0-d1c149199417/signaling 200 9ms","method":"POST","requestID":"58a93d30-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/cc42c8bd-3a81-433a-aff0-d1c149199417/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"58aaeae0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1f14b271-ab15-44f8-a85b-59064fe7f3a3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1f14b271-ab15-44f8-a85b-59064fe7f3a3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"3698181e-18a6-43cf-ac5f-4c7543a696f4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433032.3353407} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd1b1093-f24d-44b7-a5f7-716937e2b849","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433032.3363128} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:12Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"1747abc607eed25a579ca71a4b0a44c4","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19313ca4-8779-4f9b-aecd-a3c354392bc2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"adb2fb28-314f-4640-bee8-ac545092722a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433032.3380473} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.27367,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"58aaeae0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"58aaeae0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"58aaeae0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/19313ca4-8779-4f9b-aecd-a3c354392bc2/signaling 200 7ms","method":"POST","requestID":"58aaeae0-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3","requestID":"1747abc607eed25a579ca71a4b0a44c4"} gateway-1 | {"time_local":"05/May/2025:08:17:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.291","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1747abc607eed25a579ca71a4b0a44c4"} experiment-1 | {"level":"info","message":"DELETE /experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3 204 289ms","method":"DELETE","requestID":"1747abc607eed25a579ca71a4b0a44c4","responseTime":289,"status":204,"url":"/experiments/1f14b271-ab15-44f8-a85b-59064fe7f3a3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 208ms","method":"POST","requestID":"01487f280de7d54a06b3be48e02e8e56","responseTime":208,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 208ms","method":"POST","requestID":"97a0abf6579c0b337af56c634926d27f","responseTime":208,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMn0.BWgLeczj3YUDrzcLQ7POof5g5rVAJ8Cnfwexsz2FyKw","level":"info","message":"auth send jwt","requestID":"2b745a145b462568f467c9c413362991"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2b745a145b462568f467c9c413362991","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:17:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.211","http_referrer":"","http_user_agent":"node-fetch","requestID":"01487f280de7d54a06b3be48e02e8e56"} gateway-1 | {"time_local":"05/May/2025:08:17:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.212","http_referrer":"","http_user_agent":"node-fetch","requestID":"97a0abf6579c0b337af56c634926d27f"} device-1 | {"level":"info","message":"postDevices called","requestID":"2b745a145b462568f467c9c413362991"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:12Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.751346,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"2b745a145b462568f467c9c413362991","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433032,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMn0.BWgLeczj3YUDrzcLQ7POof5g5rVAJ8Cnfwexsz2FyKw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"2b745a145b462568f467c9c413362991","responseTime":2,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"05/May/2025:08:17:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2541","request_time":"0.920","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"44215ceb0256c3ce9e88f8c321d0efbd"} gateway-1 | {"time_local":"05/May/2025:08:17:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2540","request_time":"0.939","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bf491604c8dcc6d75d7c4ea5cd015ae7"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/cc42c8bd-3a81-433a-aff0-d1c149199417' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/19313ca4-8779-4f9b-aecd-a3c354392bc2' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32093098-d687-4995-a7a0-49452777c8e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"49caed60-ad1e-4584-a60f-c6b7136aaedb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433032.473745} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2b745a145b462568f467c9c413362991","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3913a0a2-97dd-4235-be76-76b0abd57540","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433032.4778678} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2b745a145b462568f467c9c413362991","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32093098-d687-4995-a7a0-49452777c8e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"41ba1da4-7061-472a-b474-c23f9770626d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433032.4880924} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c124fec-cd03-4c10-9e66-6c29df011bf7","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433032.4882529} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"2b745a145b462568f467c9c413362991","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32093098-d687-4995-a7a0-49452777c8e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32093098-d687-4995-a7a0-49452777c8e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:12.488072670Z"}]},"request_id":"1d9145c9-b117-42e6-9955-317a38319f4a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433032.4920669} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2b745a145b462568f467c9c413362991","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2b745a145b462568f467c9c413362991"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"2b745a145b462568f467c9c413362991","responseTime":44,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"05/May/2025:08:17:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2b745a145b462568f467c9c413362991"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMn0.BWgLeczj3YUDrzcLQ7POof5g5rVAJ8Cnfwexsz2FyKw","level":"info","message":"auth send jwt","requestID":"965516ad35ed5847be32d7a7a508cb51"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"965516ad35ed5847be32d7a7a508cb51","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"965516ad35ed5847be32d7a7a508cb51"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:12Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.685276,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"965516ad35ed5847be32d7a7a508cb51","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433032,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzMn0.BWgLeczj3YUDrzcLQ7POof5g5rVAJ8Cnfwexsz2FyKw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"965516ad35ed5847be32d7a7a508cb51","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F168086a0-65f1-4293-87a4-c164059c5704","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e3365dc8-7dd4-471e-a346-321b627b365f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433032.5113463} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"965516ad35ed5847be32d7a7a508cb51","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d678ea0d-bb3f-4bc3-9a08-b54e67c9b810","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433032.5146744} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"965516ad35ed5847be32d7a7a508cb51","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F168086a0-65f1-4293-87a4-c164059c5704","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"741bd068-b002-48ae-bc17-95ca4503e237","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433032.5228984} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed34c951-5554-4505-912e-106d61ae5e04","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433032.5230134} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"965516ad35ed5847be32d7a7a508cb51","responseTime":10,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F168086a0-65f1-4293-87a4-c164059c5704","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F168086a0-65f1-4293-87a4-c164059c5704","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:12.522877319Z"}]},"request_id":"e9593950-d5d6-4436-95e2-c5f8f3908b9f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433032.526075} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"965516ad35ed5847be32d7a7a508cb51","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"965516ad35ed5847be32d7a7a508cb51"} gateway-1 | {"time_local":"05/May/2025:08:17:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"965516ad35ed5847be32d7a7a508cb51"} device-1 | {"level":"info","message":"POST /devices? 201 29ms","method":"POST","requestID":"965516ad35ed5847be32d7a7a508cb51","responseTime":29,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzM30.5BG05kfUC9REcTwSvFCrBG32b-w6cI22_S2Hw7ZiIEM","level":"info","message":"auth send jwt","requestID":"c9f8e32e6abc0ad60ae6c5fbb2abf626"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c9f8e32e6abc0ad60ae6c5fbb2abf626","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c9f8e32e6abc0ad60ae6c5fbb2abf626"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:13Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.768721,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"c9f8e32e6abc0ad60ae6c5fbb2abf626","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433033,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzM30.5BG05kfUC9REcTwSvFCrBG32b-w6cI22_S2Hw7ZiIEM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c9f8e32e6abc0ad60ae6c5fbb2abf626","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F168086a0-65f1-4293-87a4-c164059c5704","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F168086a0-65f1-4293-87a4-c164059c5704","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:12.522877319Z"}]},"request_id":"be7c2f0b-6242-4b13-b34e-c82c8e4bc66d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433033.3506694} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c9f8e32e6abc0ad60ae6c5fbb2abf626","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ad2b4eb-ee37-42e9-af1f-c3a4baa2805a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433033.378779} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"c9f8e32e6abc0ad60ae6c5fbb2abf626","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F168086a0-65f1-4293-87a4-c164059c5704","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F168086a0-65f1-4293-87a4-c164059c5704","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:12.522877319Z"}]},"request_id":"42583348-b3c2-48f4-ae84-42b22042c1fb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433033.3993027} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c9f8e32e6abc0ad60ae6c5fbb2abf626","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c9f8e32e6abc0ad60ae6c5fbb2abf626"} device-1 | {"level":"info","message":"PATCH /devices/168086a0-65f1-4293-87a4-c164059c5704 200 83ms","method":"PATCH","requestID":"c9f8e32e6abc0ad60ae6c5fbb2abf626","responseTime":83,"status":200,"url":"/devices/168086a0-65f1-4293-87a4-c164059c5704"} gateway-1 | {"time_local":"05/May/2025:08:17:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/168086a0-65f1-4293-87a4-c164059c5704 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.087","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"c9f8e32e6abc0ad60ae6c5fbb2abf626"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzM30.5BG05kfUC9REcTwSvFCrBG32b-w6cI22_S2Hw7ZiIEM","level":"info","message":"auth send jwt","requestID":"710afc1c8757330eb07f11b44f856861"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"710afc1c8757330eb07f11b44f856861","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"710afc1c8757330eb07f11b44f856861"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:13Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.666333,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"710afc1c8757330eb07f11b44f856861","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433033,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzM30.5BG05kfUC9REcTwSvFCrBG32b-w6cI22_S2Hw7ZiIEM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"710afc1c8757330eb07f11b44f856861","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"710afc1c8757330eb07f11b44f856861"} device-1 | {"level":"info","message":"POST /devices/168086a0-65f1-4293-87a4-c164059c5704/websocket 200 14ms","method":"POST","requestID":"710afc1c8757330eb07f11b44f856861","responseTime":14,"status":200,"url":"/devices/168086a0-65f1-4293-87a4-c164059c5704/websocket"} gateway-1 | {"time_local":"05/May/2025:08:17:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/168086a0-65f1-4293-87a4-c164059c5704/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.017","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"710afc1c8757330eb07f11b44f856861"} device-1 | {"level":"info","message":"device 'http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4ebcf5acea16ca74fd646dff20665058","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4ebcf5acea16ca74fd646dff20665058","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:17:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/32093098-d687-4995-a7a0-49452777c8e6/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.003","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4ebcf5acea16ca74fd646dff20665058"} device-1 | {"level":"info","message":"OPTIONS /devices/32093098-d687-4995-a7a0-49452777c8e6/websocket 200 1ms","method":"OPTIONS","requestID":"4ebcf5acea16ca74fd646dff20665058","responseTime":1,"status":200,"url":"/devices/32093098-d687-4995-a7a0-49452777c8e6/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzNH0.LbhUjRDXwNtLHyO-ZvjFxFj5PDZA4a_0sKPRpV6zmPE","level":"info","message":"auth send jwt","requestID":"390d3e401fbadd378c22b6b07dc9bc4d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"390d3e401fbadd378c22b6b07dc9bc4d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"390d3e401fbadd378c22b6b07dc9bc4d"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:14Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.851493,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"390d3e401fbadd378c22b6b07dc9bc4d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433034,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzNH0.LbhUjRDXwNtLHyO-ZvjFxFj5PDZA4a_0sKPRpV6zmPE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"390d3e401fbadd378c22b6b07dc9bc4d","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"390d3e401fbadd378c22b6b07dc9bc4d"} device-1 | {"level":"info","message":"POST /devices/32093098-d687-4995-a7a0-49452777c8e6/websocket 200 25ms","method":"POST","requestID":"390d3e401fbadd378c22b6b07dc9bc4d","responseTime":25,"status":200,"url":"/devices/32093098-d687-4995-a7a0-49452777c8e6/websocket"} gateway-1 | {"time_local":"05/May/2025:08:17:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/32093098-d687-4995-a7a0-49452777c8e6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"390d3e401fbadd378c22b6b07dc9bc4d"} device-1 | {"level":"info","message":"device 'http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzNH0.LbhUjRDXwNtLHyO-ZvjFxFj5PDZA4a_0sKPRpV6zmPE","level":"info","message":"auth send jwt","requestID":"423e4588a9f71281190cea1cb61adaeb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"423e4588a9f71281190cea1cb61adaeb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"423e4588a9f71281190cea1cb61adaeb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:14Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.744529,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"423e4588a9f71281190cea1cb61adaeb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433034,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzNH0.LbhUjRDXwNtLHyO-ZvjFxFj5PDZA4a_0sKPRpV6zmPE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"423e4588a9f71281190cea1cb61adaeb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32093098-d687-4995-a7a0-49452777c8e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32093098-d687-4995-a7a0-49452777c8e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:12.488072670Z"}]},"request_id":"62e0bc8b-8377-4955-a618-739362896701","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433034.8086908} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"423e4588a9f71281190cea1cb61adaeb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"423e4588a9f71281190cea1cb61adaeb"} gateway-1 | {"time_local":"05/May/2025:08:17:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/32093098-d687-4995-a7a0-49452777c8e6? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"423e4588a9f71281190cea1cb61adaeb"} device-1 | {"level":"info","message":"GET /devices/32093098-d687-4995-a7a0-49452777c8e6? 200 9ms","method":"GET","requestID":"423e4588a9f71281190cea1cb61adaeb","responseTime":9,"status":200,"url":"/devices/32093098-d687-4995-a7a0-49452777c8e6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzNH0.LbhUjRDXwNtLHyO-ZvjFxFj5PDZA4a_0sKPRpV6zmPE","level":"info","message":"auth send jwt","requestID":"ef04047910a565325d29b462346dd8a2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ef04047910a565325d29b462346dd8a2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ef04047910a565325d29b462346dd8a2"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:14Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.625168,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"ef04047910a565325d29b462346dd8a2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433034,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzNH0.LbhUjRDXwNtLHyO-ZvjFxFj5PDZA4a_0sKPRpV6zmPE"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ef04047910a565325d29b462346dd8a2","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F168086a0-65f1-4293-87a4-c164059c5704","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F168086a0-65f1-4293-87a4-c164059c5704","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:12.522877319Z"}]},"request_id":"b42fb086-27bb-4503-b11a-67f9bc4e9e2a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433034.8221488} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ef04047910a565325d29b462346dd8a2","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ef04047910a565325d29b462346dd8a2"} gateway-1 | {"time_local":"05/May/2025:08:17:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/168086a0-65f1-4293-87a4-c164059c5704? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ef04047910a565325d29b462346dd8a2"} device-1 | {"level":"info","message":"GET /devices/168086a0-65f1-4293-87a4-c164059c5704? 200 9ms","method":"GET","requestID":"ef04047910a565325d29b462346dd8a2","responseTime":9,"status":200,"url":"/devices/168086a0-65f1-4293-87a4-c164059c5704?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzNH0.LbhUjRDXwNtLHyO-ZvjFxFj5PDZA4a_0sKPRpV6zmPE","level":"info","message":"auth send jwt","requestID":"985c89ad532e5ac520a82bbef5e71e6a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"985c89ad532e5ac520a82bbef5e71e6a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"985c89ad532e5ac520a82bbef5e71e6a"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:14Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.726294,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"985c89ad532e5ac520a82bbef5e71e6a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433034,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzNH0.LbhUjRDXwNtLHyO-ZvjFxFj5PDZA4a_0sKPRpV6zmPE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"985c89ad532e5ac520a82bbef5e71e6a","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db"},"level":"info","message":"Attempting to run experiment","requestID":"985c89ad532e5ac520a82bbef5e71e6a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db"},"level":"info","message":"Attempting to book experiment","requestID":"985c89ad532e5ac520a82bbef5e71e6a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db"},"level":"info","message":"Successfully booked experiment","requestID":"985c89ad532e5ac520a82bbef5e71e6a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5a2fdd30-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5a302b50-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:14Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.600635,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:14Z"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5a2fdd30-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433034,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzNH0.LbhUjRDXwNtLHyO-ZvjFxFj5PDZA4a_0sKPRpV6zmPE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5a2fdd30-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.569133,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5a302b50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433034,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzNH0.LbhUjRDXwNtLHyO-ZvjFxFj5PDZA4a_0sKPRpV6zmPE"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"5a302b50-2989-11f0-8876-6f29f2a860cb","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32093098-d687-4995-a7a0-49452777c8e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32093098-d687-4995-a7a0-49452777c8e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:12.488072670Z"}]},"request_id":"0d273403-ec01-4028-b550-7017d3c4502f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433034.9149187} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5a2fdd30-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F168086a0-65f1-4293-87a4-c164059c5704","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F168086a0-65f1-4293-87a4-c164059c5704","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:12.522877319Z"}]},"request_id":"9b737538-f4c8-4705-bca4-38a35b1b42bb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433034.915871} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5a302b50-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5a2fdd30-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/32093098-d687-4995-a7a0-49452777c8e6? 200 36ms","method":"GET","requestID":"5a2fdd30-2989-11f0-8876-6f29f2a860cb","responseTime":36,"status":200,"url":"/devices/32093098-d687-4995-a7a0-49452777c8e6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5a302b50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/168086a0-65f1-4293-87a4-c164059c5704? 200 34ms","method":"GET","requestID":"5a302b50-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/devices/168086a0-65f1-4293-87a4-c164059c5704?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db"},"level":"info","message":"Setting up experiment","requestID":"985c89ad532e5ac520a82bbef5e71e6a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"985c89ad532e5ac520a82bbef5e71e6a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db"},"level":"info","message":"Successfully locked booking for experiment","requestID":"985c89ad532e5ac520a82bbef5e71e6a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"985c89ad532e5ac520a82bbef5e71e6a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"985c89ad532e5ac520a82bbef5e71e6a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db"},"level":"info","message":"Attempting to update booking for experiment","requestID":"985c89ad532e5ac520a82bbef5e71e6a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db"},"level":"info","message":"Successfully updated booking for experiment","requestID":"985c89ad532e5ac520a82bbef5e71e6a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db"},"level":"info","message":"Successfully set up experiment","requestID":"985c89ad532e5ac520a82bbef5e71e6a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5a3f1f70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5a3f4680-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5a3f94a0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:14Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:14Z"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.918036,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:14Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db"},"level":"info","message":"Successfully running experiment","requestID":"985c89ad532e5ac520a82bbef5e71e6a"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5a3f1f70-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433034,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzNH0.LbhUjRDXwNtLHyO-ZvjFxFj5PDZA4a_0sKPRpV6zmPE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5a3f1f70-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.436399,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:14Z"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5a3f4680-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433034,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzNH0.LbhUjRDXwNtLHyO-ZvjFxFj5PDZA4a_0sKPRpV6zmPE"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5a3f4680-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32093098-d687-4995-a7a0-49452777c8e6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"20795931-d608-4aad-a4f1-653c7dcf44de","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433034.99238} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.044735,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5a3f94a0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5a3f94a0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F168086a0-65f1-4293-87a4-c164059c5704","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F168086a0-65f1-4293-87a4-c164059c5704","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:12.522877319Z"}]},"request_id":"fcba32ba-ff24-4339-a696-94f326e8349c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433034.993802} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5a3f4680-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32093098-d687-4995-a7a0-49452777c8e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32093098-d687-4995-a7a0-49452777c8e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:12.488072670Z"}]},"request_id":"ea9fb67e-b18f-4059-a57a-60d067ca7947","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433034.9961386} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5a3f1f70-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5a3f94a0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/32093098-d687-4995-a7a0-49452777c8e6/signaling 200 12ms","method":"POST","requestID":"5a3f94a0-2989-11f0-8876-6f29f2a860cb","responseTime":12,"status":200,"url":"/devices/32093098-d687-4995-a7a0-49452777c8e6/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5a3f4680-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/168086a0-65f1-4293-87a4-c164059c5704? 200 16ms","method":"GET","requestID":"5a3f4680-2989-11f0-8876-6f29f2a860cb","responseTime":16,"status":200,"url":"/devices/168086a0-65f1-4293-87a4-c164059c5704?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5a41b780-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5a3f1f70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/32093098-d687-4995-a7a0-49452777c8e6? 200 19ms","method":"GET","requestID":"5a3f1f70-2989-11f0-8876-6f29f2a860cb","responseTime":19,"status":200,"url":"/devices/32093098-d687-4995-a7a0-49452777c8e6?"} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:15Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5a4253c0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F168086a0-65f1-4293-87a4-c164059c5704","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60319aad-e21b-4317-a8df-d357c0796bf2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433035.0048327} authorization-1 | {"client_addr":"127.0.0.1:37774","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.460046,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:15Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5a41b780-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"5a41b780-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8c14dfd6-5af0-4288-b629-46e69bfab0db#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8c14dfd6-5af0-4288-b629-46e69bfab0db","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"7a9df79b-d44a-46fb-8624-cca0d698a8ee","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433035.0061245} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1594580e-f6fc-45ec-af9e-7ee7c86375c2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433035.0064714} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"985c89ad532e5ac520a82bbef5e71e6a","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32093098-d687-4995-a7a0-49452777c8e6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"88bc15c8-5d22-4a84-a58f-e73607d6f1ea","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433035.009039} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.559091,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:15Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5a41b780-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/168086a0-65f1-4293-87a4-c164059c5704/signaling 200 10ms","method":"POST","requestID":"5a41b780-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/168086a0-65f1-4293-87a4-c164059c5704/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5a4253c0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5a4253c0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5a4253c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/32093098-d687-4995-a7a0-49452777c8e6/signaling 200 9ms","method":"POST","requestID":"5a4253c0-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/32093098-d687-4995-a7a0-49452777c8e6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5a444f90-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"985c89ad532e5ac520a82bbef5e71e6a"} gateway-1 | {"time_local":"05/May/2025:08:17:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"985c89ad532e5ac520a82bbef5e71e6a"} experiment-1 | {"level":"info","message":"POST /experiments? 201 189ms","method":"POST","requestID":"985c89ad532e5ac520a82bbef5e71e6a","responseTime":189,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:15Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F168086a0-65f1-4293-87a4-c164059c5704","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7aa273f7-941c-4790-bbc6-c159b19cf324","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433035.0219703} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.579842,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5a444f90-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzNX0.BhMj97DB1M6xsjAWXcDezKwzyTWUT0FS1bPYG2uQNjE","level":"info","message":"auth send jwt","requestID":"5684d46d1979bdd668fec116db152ba1"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5a444f90-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5684d46d1979bdd668fec116db152ba1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5684d46d1979bdd668fec116db152ba1"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:15Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5a444f90-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.841464,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:15Z"} device-1 | {"level":"info","message":"POST /devices/168086a0-65f1-4293-87a4-c164059c5704/signaling 200 12ms","method":"POST","requestID":"5a444f90-2989-11f0-8876-6f29f2a860cb","responseTime":12,"status":200,"url":"/devices/168086a0-65f1-4293-87a4-c164059c5704/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5684d46d1979bdd668fec116db152ba1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433035,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzNX0.BhMj97DB1M6xsjAWXcDezKwzyTWUT0FS1bPYG2uQNjE"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"985c89ad532e5ac520a82bbef5e71e6a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db"},"level":"info","message":"Building connection plan","requestID":"985c89ad532e5ac520a82bbef5e71e6a"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"acd75277-cb13-44c7-bd8e-4d61ea445bfe"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"1514ff88-bedc-49fd-85a1-f0b12a387c31"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"90590444-1389-4563-b4e7-f1c5a5d332df"}]},"level":"info","message":"Built pairwise service configurations","requestID":"985c89ad532e5ac520a82bbef5e71e6a"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5684d46d1979bdd668fec116db152ba1","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"985c89ad532e5ac520a82bbef5e71e6a"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"5a469980-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32093098-d687-4995-a7a0-49452777c8e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32093098-d687-4995-a7a0-49452777c8e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:12.488072670Z"}]},"request_id":"fdb37643-526b-4828-b6f4-bca9f9f081ef","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433035.0335746} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5684d46d1979bdd668fec116db152ba1","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:15Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.750678,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:15Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5684d46d1979bdd668fec116db152ba1"} device-1 | {"level":"info","message":"GET /devices/32093098-d687-4995-a7a0-49452777c8e6? 200 14ms","method":"GET","requestID":"5684d46d1979bdd668fec116db152ba1","responseTime":14,"status":200,"url":"/devices/32093098-d687-4995-a7a0-49452777c8e6?"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5a469980-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433034,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzNH0.LbhUjRDXwNtLHyO-ZvjFxFj5PDZA4a_0sKPRpV6zmPE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5a469980-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"05/May/2025:08:17:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/32093098-d687-4995-a7a0-49452777c8e6? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5684d46d1979bdd668fec116db152ba1"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e55ebe9cec7da405b156dfdcbd06fa29"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:15Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.614122,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"e55ebe9cec7da405b156dfdcbd06fa29","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433035,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzNX0.BhMj97DB1M6xsjAWXcDezKwzyTWUT0FS1bPYG2uQNjE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e55ebe9cec7da405b156dfdcbd06fa29","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"488a68a4-fed0-4bef-b2bd-e3db8e56d6a8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433035.0505133} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"98de21a7-ff46-4b77-88f1-0f0c5ddf2879","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433035.0508761} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F168086a0-65f1-4293-87a4-c164059c5704","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F168086a0-65f1-4293-87a4-c164059c5704","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:12.522877319Z"}]},"request_id":"ac1e9336-2e53-4e6a-be7f-6c57e3a4343e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433035.0515294} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"5a469980-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e55ebe9cec7da405b156dfdcbd06fa29","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e55ebe9cec7da405b156dfdcbd06fa29"} gateway-1 | {"time_local":"05/May/2025:08:17:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/168086a0-65f1-4293-87a4-c164059c5704? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e55ebe9cec7da405b156dfdcbd06fa29"} device-1 | {"level":"info","message":"GET /devices/168086a0-65f1-4293-87a4-c164059c5704? 200 12ms","method":"GET","requestID":"e55ebe9cec7da405b156dfdcbd06fa29","responseTime":12,"status":200,"url":"/devices/168086a0-65f1-4293-87a4-c164059c5704?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzNX0.BhMj97DB1M6xsjAWXcDezKwzyTWUT0FS1bPYG2uQNjE","level":"info","message":"auth send jwt","requestID":"e55ebe9cec7da405b156dfdcbd06fa29"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e55ebe9cec7da405b156dfdcbd06fa29","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"5a469980-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"5a469980-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/62f49dec-fe09-423b-9f2c-28784d613d31'","requestID":"5a469980-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/62f49dec-fe09-423b-9f2c-28784d613d31'","requestID":"5a469980-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"5a469980-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 33ms","method":"POST","requestID":"5a469980-2989-11f0-8876-6f29f2a860cb","responseTime":33,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"5a469980-2989-11f0-8876-6f29f2a860cb"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/62f49dec-fe09-423b-9f2c-28784d613d31","device":"32093098-d687-4995-a7a0-49452777c8e6","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"985c89ad532e5ac520a82bbef5e71e6a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5a53b8e0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:15Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32093098-d687-4995-a7a0-49452777c8e6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d692dda3-7883-43e9-96bd-b43dcc5de63f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433035.1219215} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.10742,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5a53b8e0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5a53b8e0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5a53b8e0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/32093098-d687-4995-a7a0-49452777c8e6/signaling 200 8ms","method":"POST","requestID":"5a53b8e0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/32093098-d687-4995-a7a0-49452777c8e6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5a551870-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:15Z"} device-1 | {"device":"32093098-d687-4995-a7a0-49452777c8e6","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"32093098-d687-4995-a7a0-49452777c8e6","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F168086a0-65f1-4293-87a4-c164059c5704","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b7cbe07e-b990-4914-a1eb-e3f34b1a002e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433035.1559782} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.733801,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5a551870-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5a551870-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5a551870-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/168086a0-65f1-4293-87a4-c164059c5704/signaling 200 33ms","method":"POST","requestID":"5a551870-2989-11f0-8876-6f29f2a860cb","responseTime":33,"status":200,"url":"/devices/168086a0-65f1-4293-87a4-c164059c5704/signaling"} device-1 | {"device":"168086a0-65f1-4293-87a4-c164059c5704","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"62f49dec-fe09-423b-9f2c-28784d613d31","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 4621057242512219089 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:x+Db\r\na=ice-pwd:MNMhDQbKHxY4sWmEF5EKW8pC\r\na=ice-options:trickle\r\na=fingerprint:sha-256 2F:22:35:6A:91:C9:EF:F9:23:97:C4:03:AC:73:AA:9B:DB:23:A2:FA:6A:D5:B7:3D:AF:6A:F5:CF:2D:D4:AE:C5\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"32093098-d687-4995-a7a0-49452777c8e6","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"device":"32093098-d687-4995-a7a0-49452777c8e6","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:3643010635 1 udp 2113937151 ada8c18a-e8fa-4199-8119-2b12846099da.local 52051 typ host generation 0 ufrag x+Db network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"32093098-d687-4995-a7a0-49452777c8e6","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/62f49dec-fe09-423b-9f2c-28784d613d31' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"62f49dec-fe09-423b-9f2c-28784d613d31","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"32093098-d687-4995-a7a0-49452777c8e6","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a06c007b76b5c6102172c627eb43feb9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a06c007b76b5c6102172c627eb43feb9","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/62f49dec-fe09-423b-9f2c-28784d613d31"}}},"level":"info","message":"received a callback","requestID":"a06c007b76b5c6102172c627eb43feb9"} device-1 | {"device":"168086a0-65f1-4293-87a4-c164059c5704","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"168086a0-65f1-4293-87a4-c164059c5704","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"168086a0-65f1-4293-87a4-c164059c5704","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"a06c007b76b5c6102172c627eb43feb9","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"a06c007b76b5c6102172c627eb43feb9"} device-1 | {"device":"168086a0-65f1-4293-87a4-c164059c5704","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"168086a0-65f1-4293-87a4-c164059c5704","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"32093098-d687-4995-a7a0-49452777c8e6","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"62f49dec-fe09-423b-9f2c-28784d613d31","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"32093098-d687-4995-a7a0-49452777c8e6","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"62f49dec-fe09-423b-9f2c-28784d613d31","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/62f49dec-fe09-423b-9f2c-28784d613d31' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"62f49dec-fe09-423b-9f2c-28784d613d31","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ef1b09e2e19b82ca0bfac90d038fff9c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ef1b09e2e19b82ca0bfac90d038fff9c","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/62f49dec-fe09-423b-9f2c-28784d613d31"}}},"level":"info","message":"received a callback","requestID":"ef1b09e2e19b82ca0bfac90d038fff9c"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"5b8cae10-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:17Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F62f49dec-fe09-423b-9f2c-28784d613d31","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"29123425-762b-430a-b638-fceb3e9b32c3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433037.1756887} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.747465,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/62f49dec-fe09-423b-9f2c-28784d613d31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5b8cae10-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/62f49dec-fe09-423b-9f2c-28784d613d31","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5b8cae10-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"5b8cae10-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/62f49dec-fe09-423b-9f2c-28784d613d31 200 11ms","method":"GET","requestID":"5b8cae10-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/peerconnections/62f49dec-fe09-423b-9f2c-28784d613d31"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"ef1b09e2e19b82ca0bfac90d038fff9c","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"ef1b09e2e19b82ca0bfac90d038fff9c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5b90a5b0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:17Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32093098-d687-4995-a7a0-49452777c8e6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6c15fcd5-2cdf-4f87-9668-ef50220a7c7d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433037.2192392} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.191203,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5b90a5b0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"5b90a5b0-2989-11f0-8876-6f29f2a860cb","responseTime":24,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5b90a5b0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/32093098-d687-4995-a7a0-49452777c8e6/signaling 200 28ms","method":"POST","requestID":"5b90a5b0-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/devices/32093098-d687-4995-a7a0-49452777c8e6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5b951280-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:17Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F168086a0-65f1-4293-87a4-c164059c5704","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"362ea59d-76d7-4c6a-915e-a2882ab12b3e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433037.2281334} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.199233,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5b951280-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5b951280-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5b951280-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/168086a0-65f1-4293-87a4-c164059c5704/signaling 200 9ms","method":"POST","requestID":"5b951280-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/168086a0-65f1-4293-87a4-c164059c5704/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzN30.2WUf-6YzCWsMsKqLLF8pggRN3ijir6Z-uJ6rns8GV0Y","level":"info","message":"auth send jwt","requestID":"1b359d7efe7dd5c1c84ca07f9e9da1fb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1b359d7efe7dd5c1c84ca07f9e9da1fb","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db","requestID":"1b359d7efe7dd5c1c84ca07f9e9da1fb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:17Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.627971,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"1b359d7efe7dd5c1c84ca07f9e9da1fb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433037,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzN30.2WUf-6YzCWsMsKqLLF8pggRN3ijir6Z-uJ6rns8GV0Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"1b359d7efe7dd5c1c84ca07f9e9da1fb","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db","requestID":"1b359d7efe7dd5c1c84ca07f9e9da1fb"} gateway-1 | {"time_local":"05/May/2025:08:17:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1b359d7efe7dd5c1c84ca07f9e9da1fb"} experiment-1 | {"level":"info","message":"GET /experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db 200 28ms","method":"GET","requestID":"1b359d7efe7dd5c1c84ca07f9e9da1fb","responseTime":28,"status":200,"url":"/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzN30.2WUf-6YzCWsMsKqLLF8pggRN3ijir6Z-uJ6rns8GV0Y","level":"info","message":"auth send jwt","requestID":"8a04c10f2f08050902d99ae0a5e7bdc1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8a04c10f2f08050902d99ae0a5e7bdc1","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db","requestID":"8a04c10f2f08050902d99ae0a5e7bdc1"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:17Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.730667,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"8a04c10f2f08050902d99ae0a5e7bdc1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433037,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzN30.2WUf-6YzCWsMsKqLLF8pggRN3ijir6Z-uJ6rns8GV0Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"8a04c10f2f08050902d99ae0a5e7bdc1","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db"},"level":"info","message":"Attempting to finish experiment","requestID":"8a04c10f2f08050902d99ae0a5e7bdc1"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"5b9e6150-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:17Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.877886,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/62f49dec-fe09-423b-9f2c-28784d613d31","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5b9e6150-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/62f49dec-fe09-423b-9f2c-28784d613d31","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433037,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzN30.2WUf-6YzCWsMsKqLLF8pggRN3ijir6Z-uJ6rns8GV0Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"5b9e6150-2989-11f0-8876-6f29f2a860cb","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/62f49dec-fe09-423b-9f2c-28784d613d31","device":"32093098-d687-4995-a7a0-49452777c8e6","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"168086a0-65f1-4293-87a4-c164059c5704","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"168086a0-65f1-4293-87a4-c164059c5704","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"168086a0-65f1-4293-87a4-c164059c5704","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/62f49dec-fe09-423b-9f2c-28784d613d31' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/62f49dec-fe09-423b-9f2c-28784d613d31' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"62f49dec-fe09-423b-9f2c-28784d613d31","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F62f49dec-fe09-423b-9f2c-28784d613d31': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F62f49dec-fe09-423b-9f2c-28784d613d31","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"6e4250e2-8f65-4c9f-beee-1a9ae88ca25b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433037.3223393} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"afc9a84a-188b-4142-bdf1-81d786407c2c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433037.3225849} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"19d332a8cfaf612870b133241e809528","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"19d332a8cfaf612870b133241e809528","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"5b9e6150-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bcced04883aaedc9d6ae38a608678875","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/62f49dec-fe09-423b-9f2c-28784d613d31"}}},"level":"info","message":"received a callback","requestID":"19d332a8cfaf612870b133241e809528"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bcced04883aaedc9d6ae38a608678875","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/62f49dec-fe09-423b-9f2c-28784d613d31"}}},"level":"info","message":"received a callback","requestID":"bcced04883aaedc9d6ae38a608678875"} device-1 | {"data":{"peerconnection":"62f49dec-fe09-423b-9f2c-28784d613d31","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"5b9e6150-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/62f49dec-fe09-423b-9f2c-28784d613d31 204 84ms","method":"DELETE","requestID":"5b9e6150-2989-11f0-8876-6f29f2a860cb","responseTime":84,"status":204,"url":"/peerconnections/62f49dec-fe09-423b-9f2c-28784d613d31"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db"},"level":"info","message":"Successfully finished experiment","requestID":"8a04c10f2f08050902d99ae0a5e7bdc1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5bad7c80-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:17Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32093098-d687-4995-a7a0-49452777c8e6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee2f5e4d-930e-4e78-ac1a-1199c4f4d85d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433037.4125917} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.438017,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5bad7c80-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5bad7c80-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5bad7c80-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/32093098-d687-4995-a7a0-49452777c8e6/signaling 200 32ms","method":"POST","requestID":"5bad7c80-2989-11f0-8876-6f29f2a860cb","responseTime":32,"status":200,"url":"/devices/32093098-d687-4995-a7a0-49452777c8e6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5bb2aca0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8c14dfd6-5af0-4288-b629-46e69bfab0db': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8c14dfd6-5af0-4288-b629-46e69bfab0db","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"36be9740-5cd0-416d-b6ad-16b99b28199c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433037.420024} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5593b135-5f17-4a7f-9e39-34f8f10ea14d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433037.4202342} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:17Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"8a04c10f2f08050902d99ae0a5e7bdc1","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F168086a0-65f1-4293-87a4-c164059c5704","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c383b07c-c5bb-4a51-a34a-9ccd28f3daac","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433037.422261} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.251812,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5bb2aca0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5bb2aca0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5bb2aca0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/168086a0-65f1-4293-87a4-c164059c5704/signaling 200 8ms","method":"POST","requestID":"5bb2aca0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/168086a0-65f1-4293-87a4-c164059c5704/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db","requestID":"8a04c10f2f08050902d99ae0a5e7bdc1"} gateway-1 | {"time_local":"05/May/2025:08:17:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.247","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8a04c10f2f08050902d99ae0a5e7bdc1"} experiment-1 | {"level":"info","message":"DELETE /experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db 204 245ms","method":"DELETE","requestID":"8a04c10f2f08050902d99ae0a5e7bdc1","responseTime":245,"status":204,"url":"/experiments/8c14dfd6-5af0-4288-b629-46e69bfab0db"} gateway-1 | {"time_local":"05/May/2025:08:17:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2491","request_time":"4.076","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"9a9eb2127779d1e7144eacd3418eefba"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/168086a0-65f1-4293-87a4-c164059c5704' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 199ms","method":"POST","requestID":"19d332a8cfaf612870b133241e809528","responseTime":199,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.202","http_referrer":"","http_user_agent":"node-fetch","requestID":"19d332a8cfaf612870b133241e809528"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzN30.2WUf-6YzCWsMsKqLLF8pggRN3ijir6Z-uJ6rns8GV0Y","level":"info","message":"auth send jwt","requestID":"e38d65d2d673affc350d3f5b83fb6fa8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 199ms","method":"POST","requestID":"bcced04883aaedc9d6ae38a608678875","responseTime":199,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e38d65d2d673affc350d3f5b83fb6fa8","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:17:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.203","http_referrer":"","http_user_agent":"node-fetch","requestID":"bcced04883aaedc9d6ae38a608678875"} device-1 | {"level":"info","message":"postDevices called","requestID":"e38d65d2d673affc350d3f5b83fb6fa8"} gateway-1 | {"time_local":"05/May/2025:08:17:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2751","request_time":"2.736","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"87d74cf1a9942b921d63cf31072df256"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:17Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/32093098-d687-4995-a7a0-49452777c8e6' closed"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":6.115623,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"e38d65d2d673affc350d3f5b83fb6fa8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433037,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzN30.2WUf-6YzCWsMsKqLLF8pggRN3ijir6Z-uJ6rns8GV0Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"e38d65d2d673affc350d3f5b83fb6fa8","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F824a38bf-e96a-41c7-aece-c79c6f8e15e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"35d87065-3bbe-4167-a80c-8bba9e88718e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433037.5497246} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e38d65d2d673affc350d3f5b83fb6fa8","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64613c9b-5aa8-4060-84a8-0210d14de255","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433037.554358} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e38d65d2d673affc350d3f5b83fb6fa8","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F824a38bf-e96a-41c7-aece-c79c6f8e15e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"f02e73c9-74b8-4deb-a259-708df4503352","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433037.5655744} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"43714885-d0fb-4b07-977f-15c601898bec","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433037.5662782} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"e38d65d2d673affc350d3f5b83fb6fa8","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F824a38bf-e96a-41c7-aece-c79c6f8e15e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F824a38bf-e96a-41c7-aece-c79c6f8e15e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:17.565543634Z"}]},"request_id":"8e7bb624-f803-4c1a-b598-1adc7442d93f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433037.570427} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e38d65d2d673affc350d3f5b83fb6fa8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e38d65d2d673affc350d3f5b83fb6fa8"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"e38d65d2d673affc350d3f5b83fb6fa8","responseTime":45,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"05/May/2025:08:17:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e38d65d2d673affc350d3f5b83fb6fa8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzN30.2WUf-6YzCWsMsKqLLF8pggRN3ijir6Z-uJ6rns8GV0Y","level":"info","message":"auth send jwt","requestID":"cdd8547b44bdbad077e5469755c75e27"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cdd8547b44bdbad077e5469755c75e27","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"cdd8547b44bdbad077e5469755c75e27"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:17Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.716389,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"cdd8547b44bdbad077e5469755c75e27","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433037,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzN30.2WUf-6YzCWsMsKqLLF8pggRN3ijir6Z-uJ6rns8GV0Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cdd8547b44bdbad077e5469755c75e27","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37d9111f-0260-4ed0-8eac-403c0ceae4b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a83dc209-10d6-430c-8c6b-bd18d33097d6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433037.5919008} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cdd8547b44bdbad077e5469755c75e27","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c051eb9e-90ac-4a44-bdd5-e7a4711c17f0","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433037.5965006} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"cdd8547b44bdbad077e5469755c75e27","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37d9111f-0260-4ed0-8eac-403c0ceae4b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"d70ec9a5-c92b-4675-b8f9-ae10af0922ca","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433037.607134} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d88a8eaa-a1b1-4fc6-9a6b-3f008fa5879b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433037.6072707} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"cdd8547b44bdbad077e5469755c75e27","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37d9111f-0260-4ed0-8eac-403c0ceae4b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37d9111f-0260-4ed0-8eac-403c0ceae4b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:17.607111490Z"}]},"request_id":"207cfc82-94eb-4b94-92dd-7a89578944a3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433037.611641} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cdd8547b44bdbad077e5469755c75e27","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"cdd8547b44bdbad077e5469755c75e27"} gateway-1 | {"time_local":"05/May/2025:08:17:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cdd8547b44bdbad077e5469755c75e27"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"cdd8547b44bdbad077e5469755c75e27","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzOH0.ClNzXYo3oVAuWTXwf9GGlV7pgJDpKct8VOfoNUKrO54","level":"info","message":"auth send jwt","requestID":"adbcbe64418456fb5a64dfe539186b87"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"adbcbe64418456fb5a64dfe539186b87","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"adbcbe64418456fb5a64dfe539186b87"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:18Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.756499,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"adbcbe64418456fb5a64dfe539186b87","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433038,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzOH0.ClNzXYo3oVAuWTXwf9GGlV7pgJDpKct8VOfoNUKrO54"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"adbcbe64418456fb5a64dfe539186b87","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37d9111f-0260-4ed0-8eac-403c0ceae4b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37d9111f-0260-4ed0-8eac-403c0ceae4b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:17.607111490Z"}]},"request_id":"d230e4a3-9e4e-43a0-a0a7-a367c97317e7","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433038.5148954} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"adbcbe64418456fb5a64dfe539186b87","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee61d67e-15d0-4300-863e-be2f6780810f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433038.5187306} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"adbcbe64418456fb5a64dfe539186b87","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37d9111f-0260-4ed0-8eac-403c0ceae4b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37d9111f-0260-4ed0-8eac-403c0ceae4b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:17.607111490Z"}]},"request_id":"e44ab8d0-3618-41f2-be5e-339b657da975","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433038.5667367} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"adbcbe64418456fb5a64dfe539186b87","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"adbcbe64418456fb5a64dfe539186b87"} gateway-1 | {"time_local":"05/May/2025:08:17:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.090","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"adbcbe64418456fb5a64dfe539186b87"} device-1 | {"level":"info","message":"PATCH /devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5 200 85ms","method":"PATCH","requestID":"adbcbe64418456fb5a64dfe539186b87","responseTime":85,"status":200,"url":"/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzOH0.ClNzXYo3oVAuWTXwf9GGlV7pgJDpKct8VOfoNUKrO54","level":"info","message":"auth send jwt","requestID":"118f9e2e05a5ce055f5b20dcfbf275c5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"118f9e2e05a5ce055f5b20dcfbf275c5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"118f9e2e05a5ce055f5b20dcfbf275c5"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:18Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.634096,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"118f9e2e05a5ce055f5b20dcfbf275c5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433038,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzOH0.ClNzXYo3oVAuWTXwf9GGlV7pgJDpKct8VOfoNUKrO54"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"118f9e2e05a5ce055f5b20dcfbf275c5","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"118f9e2e05a5ce055f5b20dcfbf275c5"} gateway-1 | {"time_local":"05/May/2025:08:17:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.017","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"118f9e2e05a5ce055f5b20dcfbf275c5"} device-1 | {"level":"info","message":"POST /devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5/websocket 200 13ms","method":"POST","requestID":"118f9e2e05a5ce055f5b20dcfbf275c5","responseTime":13,"status":200,"url":"/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0cf778c9d61bb93b310d1c5522a726b2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0cf778c9d61bb93b310d1c5522a726b2","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:17:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.003","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0cf778c9d61bb93b310d1c5522a726b2"} device-1 | {"level":"info","message":"OPTIONS /devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3/websocket 200 1ms","method":"OPTIONS","requestID":"0cf778c9d61bb93b310d1c5522a726b2","responseTime":1,"status":200,"url":"/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzOX0.CARxz8HqrZXmPzBYPoaidsAtA73DUkBUit-KIxM-KSM","level":"info","message":"auth send jwt","requestID":"d0dc0c3cf061197ed12ed80b3bdf069c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d0dc0c3cf061197ed12ed80b3bdf069c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d0dc0c3cf061197ed12ed80b3bdf069c"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:19Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.022674,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"d0dc0c3cf061197ed12ed80b3bdf069c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433039,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzOX0.CARxz8HqrZXmPzBYPoaidsAtA73DUkBUit-KIxM-KSM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d0dc0c3cf061197ed12ed80b3bdf069c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d0dc0c3cf061197ed12ed80b3bdf069c"} device-1 | {"level":"info","message":"POST /devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3/websocket 200 36ms","method":"POST","requestID":"d0dc0c3cf061197ed12ed80b3bdf069c","responseTime":36,"status":200,"url":"/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3/websocket"} gateway-1 | {"time_local":"05/May/2025:08:17:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d0dc0c3cf061197ed12ed80b3bdf069c"} device-1 | {"level":"info","message":"device 'http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzOX0.CARxz8HqrZXmPzBYPoaidsAtA73DUkBUit-KIxM-KSM","level":"info","message":"auth send jwt","requestID":"4dea66cf6e2a5d6643574d0bd1bc51e1"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4dea66cf6e2a5d6643574d0bd1bc51e1","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4dea66cf6e2a5d6643574d0bd1bc51e1"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:19Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.885644,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4dea66cf6e2a5d6643574d0bd1bc51e1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433039,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzOX0.CARxz8HqrZXmPzBYPoaidsAtA73DUkBUit-KIxM-KSM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4dea66cf6e2a5d6643574d0bd1bc51e1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F824a38bf-e96a-41c7-aece-c79c6f8e15e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F824a38bf-e96a-41c7-aece-c79c6f8e15e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:17.565543634Z"}]},"request_id":"5aab3b25-c282-478d-b299-23e0143020f1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433039.9789252} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4dea66cf6e2a5d6643574d0bd1bc51e1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4dea66cf6e2a5d6643574d0bd1bc51e1"} gateway-1 | {"time_local":"05/May/2025:08:17:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4dea66cf6e2a5d6643574d0bd1bc51e1"} device-1 | {"level":"info","message":"GET /devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3? 200 10ms","method":"GET","requestID":"4dea66cf6e2a5d6643574d0bd1bc51e1","responseTime":10,"status":200,"url":"/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzOX0.CARxz8HqrZXmPzBYPoaidsAtA73DUkBUit-KIxM-KSM","level":"info","message":"auth send jwt","requestID":"c81016f8966b0bb6aadbd61b050464d6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c81016f8966b0bb6aadbd61b050464d6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c81016f8966b0bb6aadbd61b050464d6"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:19Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.64747,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"c81016f8966b0bb6aadbd61b050464d6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433039,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzOX0.CARxz8HqrZXmPzBYPoaidsAtA73DUkBUit-KIxM-KSM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c81016f8966b0bb6aadbd61b050464d6","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37d9111f-0260-4ed0-8eac-403c0ceae4b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37d9111f-0260-4ed0-8eac-403c0ceae4b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:17.607111490Z"}]},"request_id":"1c836723-c540-405f-909b-3a724d575a16","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433039.99196} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c81016f8966b0bb6aadbd61b050464d6","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c81016f8966b0bb6aadbd61b050464d6"} gateway-1 | {"time_local":"05/May/2025:08:17:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c81016f8966b0bb6aadbd61b050464d6"} device-1 | {"level":"info","message":"GET /devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5? 200 10ms","method":"GET","requestID":"c81016f8966b0bb6aadbd61b050464d6","responseTime":10,"status":200,"url":"/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzOX0.CARxz8HqrZXmPzBYPoaidsAtA73DUkBUit-KIxM-KSM","level":"info","message":"auth send jwt","requestID":"b64c997a795d3cd6d6db4df56c6d25ce"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b64c997a795d3cd6d6db4df56c6d25ce","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"b64c997a795d3cd6d6db4df56c6d25ce"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.685939,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"b64c997a795d3cd6d6db4df56c6d25ce","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433039,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzOX0.CARxz8HqrZXmPzBYPoaidsAtA73DUkBUit-KIxM-KSM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b64c997a795d3cd6d6db4df56c6d25ce","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b"},"level":"info","message":"Attempting to run experiment","requestID":"b64c997a795d3cd6d6db4df56c6d25ce"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b"},"level":"info","message":"Attempting to book experiment","requestID":"b64c997a795d3cd6d6db4df56c6d25ce"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b"},"level":"info","message":"Successfully booked experiment","requestID":"b64c997a795d3cd6d6db4df56c6d25ce"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5d4337b0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5d435ec0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.625112,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5d4337b0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433039,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzOX0.CARxz8HqrZXmPzBYPoaidsAtA73DUkBUit-KIxM-KSM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5d4337b0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54556","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"client_addr":"127.0.0.1:54556","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.93111,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5d435ec0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433039,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzOX0.CARxz8HqrZXmPzBYPoaidsAtA73DUkBUit-KIxM-KSM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5d435ec0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F824a38bf-e96a-41c7-aece-c79c6f8e15e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F824a38bf-e96a-41c7-aece-c79c6f8e15e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:17.565543634Z"}]},"request_id":"a8dc0161-230d-4972-93a5-ac548274baa7","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433040.0497706} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5d4337b0-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37d9111f-0260-4ed0-8eac-403c0ceae4b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37d9111f-0260-4ed0-8eac-403c0ceae4b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:17.607111490Z"}]},"request_id":"43f7d43b-163d-496f-8737-3c54f9a1e0fd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433040.052375} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5d4337b0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5d435ec0-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3? 200 10ms","method":"GET","requestID":"5d4337b0-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5d435ec0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5? 200 11ms","method":"GET","requestID":"5d435ec0-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b"},"level":"info","message":"Setting up experiment","requestID":"b64c997a795d3cd6d6db4df56c6d25ce"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"b64c997a795d3cd6d6db4df56c6d25ce"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"b64c997a795d3cd6d6db4df56c6d25ce"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"b64c997a795d3cd6d6db4df56c6d25ce"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"b64c997a795d3cd6d6db4df56c6d25ce"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"b64c997a795d3cd6d6db4df56c6d25ce"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"b64c997a795d3cd6d6db4df56c6d25ce"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b"},"level":"info","message":"Successfully set up experiment","requestID":"b64c997a795d3cd6d6db4df56c6d25ce"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5d4ef780-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5d52c810-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5d52ef20-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:54556","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"client_addr":"127.0.0.1:54556","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919905,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5d4ef780-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433039,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzOX0.CARxz8HqrZXmPzBYPoaidsAtA73DUkBUit-KIxM-KSM"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b"},"level":"info","message":"Successfully running experiment","requestID":"b64c997a795d3cd6d6db4df56c6d25ce"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5d4ef780-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.809346,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"client_addr":"127.0.0.1:54556","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5d52c810-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433039,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzOX0.CARxz8HqrZXmPzBYPoaidsAtA73DUkBUit-KIxM-KSM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5d52c810-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F824a38bf-e96a-41c7-aece-c79c6f8e15e3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9da2ab49-05cb-41d5-99a6-86657d3f407a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433040.1525095} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37d9111f-0260-4ed0-8eac-403c0ceae4b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37d9111f-0260-4ed0-8eac-403c0ceae4b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:17.607111490Z"}]},"request_id":"8ab0ba4b-7ada-436d-9a5d-47ddd0b2bfd1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433040.154418} authorization-1 | {"client_addr":"127.0.0.1:54556","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.573659,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5d52ef20-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5d52ef20-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5d52c810-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F824a38bf-e96a-41c7-aece-c79c6f8e15e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F824a38bf-e96a-41c7-aece-c79c6f8e15e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:17.565543634Z"}]},"request_id":"93033796-2921-42c1-a2c1-de9d36933379","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433040.155084} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5d4ef780-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5d52c810-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5? 200 15ms","method":"GET","requestID":"5d52c810-2989-11f0-8876-6f29f2a860cb","responseTime":15,"status":200,"url":"/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5d52ef20-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3/signaling 200 14ms","method":"POST","requestID":"5d52ef20-2989-11f0-8876-6f29f2a860cb","responseTime":14,"status":200,"url":"/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5d4ef780-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3? 200 41ms","method":"GET","requestID":"5d4ef780-2989-11f0-8876-6f29f2a860cb","responseTime":41,"status":200,"url":"/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5d556020-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5d558730-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:54556","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37d9111f-0260-4ed0-8eac-403c0ceae4b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"438cc526-561e-4cf9-b47c-6d329742ff4e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433040.1666017} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F824a38bf-e96a-41c7-aece-c79c6f8e15e3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aaafa664-f818-49d5-be59-82bdc732376c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433040.1676018} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff760cdba-15d7-4630-86ae-7ee5a9a7cc7b#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff760cdba-15d7-4630-86ae-7ee5a9a7cc7b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"ecf94be9-f2f2-40a8-bb1a-b1015f11e868","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433040.1676517} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c1055de3-891f-4c24-a824-227629a11d29","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433040.1680481} authorization-1 | {"client_addr":"127.0.0.1:54556","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.350101,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.629275,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5d556020-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"5d556020-2989-11f0-8876-6f29f2a860cb","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5d558730-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"5d558730-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","method":"POST","requestID":"b64c997a795d3cd6d6db4df56c6d25ce","responseTime":44,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5d556020-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5/signaling 200 35ms","method":"POST","requestID":"5d556020-2989-11f0-8876-6f29f2a860cb","responseTime":35,"status":200,"url":"/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5d558730-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3/signaling 200 35ms","method":"POST","requestID":"5d558730-2989-11f0-8876-6f29f2a860cb","responseTime":35,"status":200,"url":"/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"b64c997a795d3cd6d6db4df56c6d25ce"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5d5b5390-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"level":"info","message":"POST /experiments? 201 202ms","method":"POST","requestID":"b64c997a795d3cd6d6db4df56c6d25ce","responseTime":202,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"05/May/2025:08:17:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.206","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b64c997a795d3cd6d6db4df56c6d25ce"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37d9111f-0260-4ed0-8eac-403c0ceae4b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4c3ca70a-890b-475a-8e25-7c38b8d52236","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433040.2059124} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0MH0.0Cbl9wYYuOsB0IG67iFOIWNrdQdvnjPehAxSxMfF3T4","level":"info","message":"auth send jwt","requestID":"3d079a8e5c6fbb942e8cc0e154e635cd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3d079a8e5c6fbb942e8cc0e154e635cd","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.304404,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:20Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3d079a8e5c6fbb942e8cc0e154e635cd"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5d5b5390-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5d5b5390-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.748058,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:20Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5d5b5390-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5/signaling 200 9ms","method":"POST","requestID":"5d5b5390-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3d079a8e5c6fbb942e8cc0e154e635cd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433040,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0MH0.0Cbl9wYYuOsB0IG67iFOIWNrdQdvnjPehAxSxMfF3T4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"3d079a8e5c6fbb942e8cc0e154e635cd","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"b64c997a795d3cd6d6db4df56c6d25ce"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b"},"level":"info","message":"Building connection plan","requestID":"b64c997a795d3cd6d6db4df56c6d25ce"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"747eb7f4-a18f-4072-b022-3f06726bc4dd"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"7f50abc8-0f5c-48b0-afdc-2866b31df5db"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d3d1e333-6d74-4361-a642-273a5d9c40f6"}]},"level":"info","message":"Built pairwise service configurations","requestID":"b64c997a795d3cd6d6db4df56c6d25ce"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"b64c997a795d3cd6d6db4df56c6d25ce"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"5d5d0140-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F824a38bf-e96a-41c7-aece-c79c6f8e15e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F824a38bf-e96a-41c7-aece-c79c6f8e15e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:17.565543634Z"}]},"request_id":"879c0b3a-8524-4b8e-8cc2-f88cc35ba6f2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433040.2131197} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3d079a8e5c6fbb942e8cc0e154e635cd","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.666011,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5d5d0140-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433039,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzAzOX0.CARxz8HqrZXmPzBYPoaidsAtA73DUkBUit-KIxM-KSM"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"5d5d0140-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"05/May/2025:08:17:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3d079a8e5c6fbb942e8cc0e154e635cd"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3d079a8e5c6fbb942e8cc0e154e635cd"} device-1 | {"level":"info","message":"GET /devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3? 200 35ms","method":"GET","requestID":"3d079a8e5c6fbb942e8cc0e154e635cd","responseTime":35,"status":200,"url":"/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0MH0.0Cbl9wYYuOsB0IG67iFOIWNrdQdvnjPehAxSxMfF3T4","level":"info","message":"auth send jwt","requestID":"9598d159e4d2379208c42c215fb9b0bc"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9598d159e4d2379208c42c215fb9b0bc","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9598d159e4d2379208c42c215fb9b0bc"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"ee41d34e-8f7a-40d7-9894-5a620ebc525d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433040.2472181} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e8c605e6-e05e-4f86-b812-8456bacaa929","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433040.2473974} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"5d5d0140-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662895,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"9598d159e4d2379208c42c215fb9b0bc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433040,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0MH0.0Cbl9wYYuOsB0IG67iFOIWNrdQdvnjPehAxSxMfF3T4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9598d159e4d2379208c42c215fb9b0bc","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37d9111f-0260-4ed0-8eac-403c0ceae4b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37d9111f-0260-4ed0-8eac-403c0ceae4b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:17.607111490Z"}]},"request_id":"c5785610-75ab-4fee-baa7-a2542c2385a8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433040.2531219} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9598d159e4d2379208c42c215fb9b0bc","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"5d5d0140-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"5d5d0140-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/897ae1ce-299d-4a02-aa0d-4b4fbea5c8db'","requestID":"5d5d0140-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/897ae1ce-299d-4a02-aa0d-4b4fbea5c8db'","requestID":"5d5d0140-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"5d5d0140-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 88ms","method":"POST","requestID":"5d5d0140-2989-11f0-8876-6f29f2a860cb","responseTime":88,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9598d159e4d2379208c42c215fb9b0bc"} gateway-1 | {"time_local":"05/May/2025:08:17:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9598d159e4d2379208c42c215fb9b0bc"} device-1 | {"level":"info","message":"GET /devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5? 200 55ms","method":"GET","requestID":"9598d159e4d2379208c42c215fb9b0bc","responseTime":55,"status":200,"url":"/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"5d5d0140-2989-11f0-8876-6f29f2a860cb"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/897ae1ce-299d-4a02-aa0d-4b4fbea5c8db","device":"824a38bf-e96a-41c7-aece-c79c6f8e15e3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"device":"824a38bf-e96a-41c7-aece-c79c6f8e15e3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"824a38bf-e96a-41c7-aece-c79c6f8e15e3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"b64c997a795d3cd6d6db4df56c6d25ce"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5d7236f0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F824a38bf-e96a-41c7-aece-c79c6f8e15e3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fe660eed-bb7c-47a2-a438-9d1858d46b1e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433040.3553247} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.207757,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5d7236f0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5d7236f0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5d7236f0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3/signaling 200 8ms","method":"POST","requestID":"5d7236f0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5d739680-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37d9111f-0260-4ed0-8eac-403c0ceae4b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6573edd5-0e56-476c-88cf-109ad2d36f09","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433040.364333} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.166877,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5d739680-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5d739680-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5d739680-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5/signaling 200 8ms","method":"POST","requestID":"5d739680-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5/signaling"} device-1 | {"device":"37d9111f-0260-4ed0-8eac-403c0ceae4b5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"897ae1ce-299d-4a02-aa0d-4b4fbea5c8db","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 420335363342877358 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:ReYG\r\na=ice-pwd:Uf0yWXZULkyAb7o4A8q+r4B/\r\na=ice-options:trickle\r\na=fingerprint:sha-256 62:B9:54:F5:EA:29:AE:01:D3:89:85:CA:B9:A8:E0:B0:6A:78:3A:2A:42:D2:BE:D1:92:63:89:C6:DC:39:9B:8A\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"824a38bf-e96a-41c7-aece-c79c6f8e15e3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1101562650 1 udp 2113937151 2c7ef019-da12-4f30-8ed0-32728de79e80.local 47684 typ host generation 0 ufrag ReYG network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"824a38bf-e96a-41c7-aece-c79c6f8e15e3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"824a38bf-e96a-41c7-aece-c79c6f8e15e3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/897ae1ce-299d-4a02-aa0d-4b4fbea5c8db' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"897ae1ce-299d-4a02-aa0d-4b4fbea5c8db","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"824a38bf-e96a-41c7-aece-c79c6f8e15e3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8df612c3f578af2970fb5b7c589ed344","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8df612c3f578af2970fb5b7c589ed344","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/897ae1ce-299d-4a02-aa0d-4b4fbea5c8db"}}},"level":"info","message":"received a callback","requestID":"8df612c3f578af2970fb5b7c589ed344"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"8df612c3f578af2970fb5b7c589ed344","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"8df612c3f578af2970fb5b7c589ed344"} device-1 | {"device":"37d9111f-0260-4ed0-8eac-403c0ceae4b5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"37d9111f-0260-4ed0-8eac-403c0ceae4b5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"37d9111f-0260-4ed0-8eac-403c0ceae4b5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"37d9111f-0260-4ed0-8eac-403c0ceae4b5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"897ae1ce-299d-4a02-aa0d-4b4fbea5c8db","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"824a38bf-e96a-41c7-aece-c79c6f8e15e3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"37d9111f-0260-4ed0-8eac-403c0ceae4b5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"824a38bf-e96a-41c7-aece-c79c6f8e15e3","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"897ae1ce-299d-4a02-aa0d-4b4fbea5c8db","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/897ae1ce-299d-4a02-aa0d-4b4fbea5c8db' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"897ae1ce-299d-4a02-aa0d-4b4fbea5c8db","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5c2c0aa9e77bec741935c6c1d5517675","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5c2c0aa9e77bec741935c6c1d5517675","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/897ae1ce-299d-4a02-aa0d-4b4fbea5c8db"}}},"level":"info","message":"received a callback","requestID":"5c2c0aa9e77bec741935c6c1d5517675"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"5eaade00-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:22Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F897ae1ce-299d-4a02-aa0d-4b4fbea5c8db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"46531c3d-f7ba-4d52-8575-dd452d0e4073","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433042.404723} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.243148,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/897ae1ce-299d-4a02-aa0d-4b4fbea5c8db","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5eaade00-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/897ae1ce-299d-4a02-aa0d-4b4fbea5c8db","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5eaade00-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"5eaade00-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/897ae1ce-299d-4a02-aa0d-4b4fbea5c8db 200 8ms","method":"GET","requestID":"5eaade00-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/peerconnections/897ae1ce-299d-4a02-aa0d-4b4fbea5c8db"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"5c2c0aa9e77bec741935c6c1d5517675","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"5c2c0aa9e77bec741935c6c1d5517675"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5eafe710-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:22Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F824a38bf-e96a-41c7-aece-c79c6f8e15e3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f8f82258-8d7e-4dc7-9119-e111b1eb0c4b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433042.4376473} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.920956,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5eafe710-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5eafe710-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5eafe710-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3/signaling 200 10ms","method":"POST","requestID":"5eafe710-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5eb1bbd0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:22Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37d9111f-0260-4ed0-8eac-403c0ceae4b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"18cdddd2-2999-4873-ba2c-5008c38974a0","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433042.4510388} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.335357,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5eb1bbd0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5eb1bbd0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5eb1bbd0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5/signaling 200 10ms","method":"POST","requestID":"5eb1bbd0-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0Mn0.LJynDSrlIe9fQyl7sqdOu_Voex1flyi72TdqMOfHDVc","level":"info","message":"auth send jwt","requestID":"65b560a68f534354709a2f911770cce3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"65b560a68f534354709a2f911770cce3","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b","requestID":"65b560a68f534354709a2f911770cce3"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:22Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.764319,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"65b560a68f534354709a2f911770cce3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433042,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0Mn0.LJynDSrlIe9fQyl7sqdOu_Voex1flyi72TdqMOfHDVc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"65b560a68f534354709a2f911770cce3","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b","requestID":"65b560a68f534354709a2f911770cce3"} gateway-1 | {"time_local":"05/May/2025:08:17:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"65b560a68f534354709a2f911770cce3"} experiment-1 | {"level":"info","message":"GET /experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b 200 9ms","method":"GET","requestID":"65b560a68f534354709a2f911770cce3","responseTime":9,"status":200,"url":"/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0Mn0.LJynDSrlIe9fQyl7sqdOu_Voex1flyi72TdqMOfHDVc","level":"info","message":"auth send jwt","requestID":"ee324eb13e32141ac873b3ea3177c91f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ee324eb13e32141ac873b3ea3177c91f","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b","requestID":"ee324eb13e32141ac873b3ea3177c91f"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:22Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.855314,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"ee324eb13e32141ac873b3ea3177c91f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433042,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0Mn0.LJynDSrlIe9fQyl7sqdOu_Voex1flyi72TdqMOfHDVc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ee324eb13e32141ac873b3ea3177c91f","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b"},"level":"info","message":"Attempting to finish experiment","requestID":"ee324eb13e32141ac873b3ea3177c91f"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"5ec19a50-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:22Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.735197,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/897ae1ce-299d-4a02-aa0d-4b4fbea5c8db","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5ec19a50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/897ae1ce-299d-4a02-aa0d-4b4fbea5c8db","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433042,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0Mn0.LJynDSrlIe9fQyl7sqdOu_Voex1flyi72TdqMOfHDVc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"5ec19a50-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/897ae1ce-299d-4a02-aa0d-4b4fbea5c8db","device":"824a38bf-e96a-41c7-aece-c79c6f8e15e3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"37d9111f-0260-4ed0-8eac-403c0ceae4b5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"37d9111f-0260-4ed0-8eac-403c0ceae4b5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"37d9111f-0260-4ed0-8eac-403c0ceae4b5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/897ae1ce-299d-4a02-aa0d-4b4fbea5c8db' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/897ae1ce-299d-4a02-aa0d-4b4fbea5c8db' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"897ae1ce-299d-4a02-aa0d-4b4fbea5c8db","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F897ae1ce-299d-4a02-aa0d-4b4fbea5c8db': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F897ae1ce-299d-4a02-aa0d-4b4fbea5c8db","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"fe052a51-811c-4371-a0d0-881551192547","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433042.5610511} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"585bb535-3ed1-4943-8bb3-10c0167b729a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433042.5613065} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1eaefb0ee1f1d0940e8091121f67fb27","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1eaefb0ee1f1d0940e8091121f67fb27","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"5ec19a50-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cda2eb9b528220a718ed5a4f28a21519","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/897ae1ce-299d-4a02-aa0d-4b4fbea5c8db"}}},"level":"info","message":"received a callback","requestID":"1eaefb0ee1f1d0940e8091121f67fb27"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"cda2eb9b528220a718ed5a4f28a21519","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/897ae1ce-299d-4a02-aa0d-4b4fbea5c8db"}}},"level":"info","message":"received a callback","requestID":"cda2eb9b528220a718ed5a4f28a21519"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"5ec19a50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/897ae1ce-299d-4a02-aa0d-4b4fbea5c8db 204 57ms","method":"DELETE","requestID":"5ec19a50-2989-11f0-8876-6f29f2a860cb","responseTime":57,"status":204,"url":"/peerconnections/897ae1ce-299d-4a02-aa0d-4b4fbea5c8db"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b"},"level":"info","message":"Successfully finished experiment","requestID":"ee324eb13e32141ac873b3ea3177c91f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5ed06760-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:22Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F824a38bf-e96a-41c7-aece-c79c6f8e15e3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c83ffbb9-a4b6-4af0-a908-5e68e824bd87","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433042.650346} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.928121,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5ed06760-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5ed06760-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5ed06760-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3/signaling 200 8ms","method":"POST","requestID":"5ed06760-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3/signaling"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff760cdba-15d7-4630-86ae-7ee5a9a7cc7b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff760cdba-15d7-4630-86ae-7ee5a9a7cc7b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"a60f68a7-f07d-4ab4-b227-2f7925803891","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433042.6563067} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c88ce4b-a151-4705-a476-e57a9a16cfe4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433042.6565275} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5ed1ee00-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"ee324eb13e32141ac873b3ea3177c91f","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:22Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37d9111f-0260-4ed0-8eac-403c0ceae4b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9452fea2-03e6-4e05-bfab-6fa350b7c8fb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433042.6606286} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.360668,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5ed1ee00-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5ed1ee00-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5ed1ee00-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5/signaling 200 32ms","method":"POST","requestID":"5ed1ee00-2989-11f0-8876-6f29f2a860cb","responseTime":32,"status":200,"url":"/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b","requestID":"ee324eb13e32141ac873b3ea3177c91f"} gateway-1 | {"time_local":"05/May/2025:08:17:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.252","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ee324eb13e32141ac873b3ea3177c91f"} experiment-1 | {"level":"info","message":"DELETE /experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b 204 250ms","method":"DELETE","requestID":"ee324eb13e32141ac873b3ea3177c91f","responseTime":250,"status":204,"url":"/experiments/f760cdba-15d7-4630-86ae-7ee5a9a7cc7b"} gateway-1 | {"time_local":"05/May/2025:08:17:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"4.176","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"afffc8bb442182f43c4a9e08d820784e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 204ms","method":"POST","requestID":"1eaefb0ee1f1d0940e8091121f67fb27","responseTime":204,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/37d9111f-0260-4ed0-8eac-403c0ceae4b5' closed"} gateway-1 | {"time_local":"05/May/2025:08:17:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.206","http_referrer":"","http_user_agent":"node-fetch","requestID":"1eaefb0ee1f1d0940e8091121f67fb27"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 203ms","method":"POST","requestID":"cda2eb9b528220a718ed5a4f28a21519","responseTime":203,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.206","http_referrer":"","http_user_agent":"node-fetch","requestID":"cda2eb9b528220a718ed5a4f28a21519"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0Mn0.LJynDSrlIe9fQyl7sqdOu_Voex1flyi72TdqMOfHDVc","level":"info","message":"auth send jwt","requestID":"88e14b7cb07eaeeb7be2494e0cd54758"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"88e14b7cb07eaeeb7be2494e0cd54758","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"88e14b7cb07eaeeb7be2494e0cd54758"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:22Z"} gateway-1 | {"time_local":"05/May/2025:08:17:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2751","request_time":"2.816","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ee23f7781ccb36dbb0e073b6bca809ce"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.975023,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"88e14b7cb07eaeeb7be2494e0cd54758","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433042,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0Mn0.LJynDSrlIe9fQyl7sqdOu_Voex1flyi72TdqMOfHDVc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"88e14b7cb07eaeeb7be2494e0cd54758","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/824a38bf-e96a-41c7-aece-c79c6f8e15e3' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F053f784a-2ddb-4381-8f29-e6946839bfdd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ee49b181-d9f9-4151-babe-6062be89b019","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433042.7888455} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"88e14b7cb07eaeeb7be2494e0cd54758","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83376260-37a8-4c9f-82fe-794aff52a18a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433042.7933965} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"88e14b7cb07eaeeb7be2494e0cd54758","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F053f784a-2ddb-4381-8f29-e6946839bfdd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"c4f95e15-d581-43a4-9ba9-91539ac1a39b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433042.8040748} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"43e6d2bf-c866-46cf-9197-6479e7ef04dd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433042.8042862} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"88e14b7cb07eaeeb7be2494e0cd54758","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F053f784a-2ddb-4381-8f29-e6946839bfdd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F053f784a-2ddb-4381-8f29-e6946839bfdd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:22.804050685Z"}]},"request_id":"f1715fc4-a9f1-496a-88ea-c75c8b412ada","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433042.8080683} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"88e14b7cb07eaeeb7be2494e0cd54758","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"88e14b7cb07eaeeb7be2494e0cd54758"} device-1 | {"level":"info","message":"POST /devices? 201 63ms","method":"POST","requestID":"88e14b7cb07eaeeb7be2494e0cd54758","responseTime":63,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"05/May/2025:08:17:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"88e14b7cb07eaeeb7be2494e0cd54758"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0Mn0.LJynDSrlIe9fQyl7sqdOu_Voex1flyi72TdqMOfHDVc","level":"info","message":"auth send jwt","requestID":"b6f4abd0c2d3ad5925f02913a3de3a1a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b6f4abd0c2d3ad5925f02913a3de3a1a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b6f4abd0c2d3ad5925f02913a3de3a1a"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:22Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.743987,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"b6f4abd0c2d3ad5925f02913a3de3a1a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433042,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0Mn0.LJynDSrlIe9fQyl7sqdOu_Voex1flyi72TdqMOfHDVc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b6f4abd0c2d3ad5925f02913a3de3a1a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f91e80b-6a98-4e88-bcb6-fd42eb030d96","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"40b15915-df48-4ae9-8b78-430db1ec1961","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433042.8528206} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b6f4abd0c2d3ad5925f02913a3de3a1a","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f19fba82-841d-41a9-8572-48a8861262f7","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433042.881091} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"b6f4abd0c2d3ad5925f02913a3de3a1a","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f91e80b-6a98-4e88-bcb6-fd42eb030d96","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"35b7ef21-d3fb-4c5f-84fc-e1c0ce99970d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433042.8881938} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5e57f8b4-30d7-4616-b58c-efb557740d42","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433042.888343} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"b6f4abd0c2d3ad5925f02913a3de3a1a","responseTime":33,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f91e80b-6a98-4e88-bcb6-fd42eb030d96","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f91e80b-6a98-4e88-bcb6-fd42eb030d96","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:22.888164095Z"}]},"request_id":"f5d6663a-cf3f-4dc4-96db-e64d8237e7cf","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433042.8922465} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b6f4abd0c2d3ad5925f02913a3de3a1a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b6f4abd0c2d3ad5925f02913a3de3a1a"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"b6f4abd0c2d3ad5925f02913a3de3a1a","responseTime":55,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"05/May/2025:08:17:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b6f4abd0c2d3ad5925f02913a3de3a1a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0M30.-8gwNtyuK3fEyOE9SHR8awgkxrN6XU8cTFL51cAp7Bc","level":"info","message":"auth send jwt","requestID":"830fc92f8515ff4e11a0da5b1d764064"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"830fc92f8515ff4e11a0da5b1d764064","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"830fc92f8515ff4e11a0da5b1d764064"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:23Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725861,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"830fc92f8515ff4e11a0da5b1d764064","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433043,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0M30.-8gwNtyuK3fEyOE9SHR8awgkxrN6XU8cTFL51cAp7Bc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"830fc92f8515ff4e11a0da5b1d764064","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F053f784a-2ddb-4381-8f29-e6946839bfdd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F053f784a-2ddb-4381-8f29-e6946839bfdd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:22.804050685Z"}]},"request_id":"efa8efb7-f13f-4dcf-984b-ccbd62b43d8a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433043.8472934} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"830fc92f8515ff4e11a0da5b1d764064","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"99dfeb99-73a6-4c91-91c6-6de5276e64d3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433043.8511977} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"830fc92f8515ff4e11a0da5b1d764064","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F053f784a-2ddb-4381-8f29-e6946839bfdd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F053f784a-2ddb-4381-8f29-e6946839bfdd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:22.804050685Z"}]},"request_id":"340399e1-0968-4dc8-9804-642965845fd4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433043.8907332} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"830fc92f8515ff4e11a0da5b1d764064","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"830fc92f8515ff4e11a0da5b1d764064"} device-1 | {"level":"info","message":"PATCH /devices/053f784a-2ddb-4381-8f29-e6946839bfdd 200 73ms","method":"PATCH","requestID":"830fc92f8515ff4e11a0da5b1d764064","responseTime":73,"status":200,"url":"/devices/053f784a-2ddb-4381-8f29-e6946839bfdd"} gateway-1 | {"time_local":"05/May/2025:08:17:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/053f784a-2ddb-4381-8f29-e6946839bfdd HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.077","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"830fc92f8515ff4e11a0da5b1d764064"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0M30.-8gwNtyuK3fEyOE9SHR8awgkxrN6XU8cTFL51cAp7Bc","level":"info","message":"auth send jwt","requestID":"f9cf4587c5931d7b6da0a0b0e0ffaa16"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f9cf4587c5931d7b6da0a0b0e0ffaa16","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f9cf4587c5931d7b6da0a0b0e0ffaa16"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:23Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.634461,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"f9cf4587c5931d7b6da0a0b0e0ffaa16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433043,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0M30.-8gwNtyuK3fEyOE9SHR8awgkxrN6XU8cTFL51cAp7Bc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"f9cf4587c5931d7b6da0a0b0e0ffaa16","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f9cf4587c5931d7b6da0a0b0e0ffaa16"} device-1 | {"level":"info","message":"POST /devices/053f784a-2ddb-4381-8f29-e6946839bfdd/websocket 200 14ms","method":"POST","requestID":"f9cf4587c5931d7b6da0a0b0e0ffaa16","responseTime":14,"status":200,"url":"/devices/053f784a-2ddb-4381-8f29-e6946839bfdd/websocket"} gateway-1 | {"time_local":"05/May/2025:08:17:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/053f784a-2ddb-4381-8f29-e6946839bfdd/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.017","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"f9cf4587c5931d7b6da0a0b0e0ffaa16"} device-1 | {"level":"info","message":"device 'http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"dd9cf11274cbbcfab665ff4f4ad062c1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dd9cf11274cbbcfab665ff4f4ad062c1","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96/websocket 200 1ms","method":"OPTIONS","requestID":"dd9cf11274cbbcfab665ff4f4ad062c1","responseTime":1,"status":200,"url":"/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96/websocket"} gateway-1 | {"time_local":"05/May/2025:08:17:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"dd9cf11274cbbcfab665ff4f4ad062c1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0NX0.wvHaKcOQf9WxKrfuiW5nVwFwnmZJAblQqTUZ0DncZt0","level":"info","message":"auth send jwt","requestID":"064583cdaf4be654281cd4a6c830c4ae"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"064583cdaf4be654281cd4a6c830c4ae","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"064583cdaf4be654281cd4a6c830c4ae"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.410839,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"064583cdaf4be654281cd4a6c830c4ae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433045,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0NX0.wvHaKcOQf9WxKrfuiW5nVwFwnmZJAblQqTUZ0DncZt0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"064583cdaf4be654281cd4a6c830c4ae","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"064583cdaf4be654281cd4a6c830c4ae"} gateway-1 | {"time_local":"05/May/2025:08:17:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.032","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"064583cdaf4be654281cd4a6c830c4ae"} device-1 | {"level":"info","message":"POST /devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96/websocket 200 26ms","method":"POST","requestID":"064583cdaf4be654281cd4a6c830c4ae","responseTime":26,"status":200,"url":"/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0NX0.wvHaKcOQf9WxKrfuiW5nVwFwnmZJAblQqTUZ0DncZt0","level":"info","message":"auth send jwt","requestID":"a19d0f7465bd53a8e0372c4d15da4e6b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a19d0f7465bd53a8e0372c4d15da4e6b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a19d0f7465bd53a8e0372c4d15da4e6b"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.759188,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"a19d0f7465bd53a8e0372c4d15da4e6b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433045,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0NX0.wvHaKcOQf9WxKrfuiW5nVwFwnmZJAblQqTUZ0DncZt0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a19d0f7465bd53a8e0372c4d15da4e6b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F053f784a-2ddb-4381-8f29-e6946839bfdd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F053f784a-2ddb-4381-8f29-e6946839bfdd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:22.804050685Z"}]},"request_id":"bb8a266f-a5f8-412a-ba25-e436d03f2ff1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433045.3334908} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a19d0f7465bd53a8e0372c4d15da4e6b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a19d0f7465bd53a8e0372c4d15da4e6b"} device-1 | {"level":"info","message":"GET /devices/053f784a-2ddb-4381-8f29-e6946839bfdd? 200 13ms","method":"GET","requestID":"a19d0f7465bd53a8e0372c4d15da4e6b","responseTime":13,"status":200,"url":"/devices/053f784a-2ddb-4381-8f29-e6946839bfdd?"} gateway-1 | {"time_local":"05/May/2025:08:17:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/053f784a-2ddb-4381-8f29-e6946839bfdd? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a19d0f7465bd53a8e0372c4d15da4e6b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0NX0.wvHaKcOQf9WxKrfuiW5nVwFwnmZJAblQqTUZ0DncZt0","level":"info","message":"auth send jwt","requestID":"572d17d4bef28593f4221a4ccbe14758"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"572d17d4bef28593f4221a4ccbe14758","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"572d17d4bef28593f4221a4ccbe14758"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.289538,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"572d17d4bef28593f4221a4ccbe14758","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433045,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0NX0.wvHaKcOQf9WxKrfuiW5nVwFwnmZJAblQqTUZ0DncZt0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"572d17d4bef28593f4221a4ccbe14758","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f91e80b-6a98-4e88-bcb6-fd42eb030d96","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f91e80b-6a98-4e88-bcb6-fd42eb030d96","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:22.888164095Z"}]},"request_id":"8a39df26-b1df-45b9-8397-5e450ff913d7","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433045.3547812} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"572d17d4bef28593f4221a4ccbe14758","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"572d17d4bef28593f4221a4ccbe14758"} gateway-1 | {"time_local":"05/May/2025:08:17:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"572d17d4bef28593f4221a4ccbe14758"} device-1 | {"level":"info","message":"GET /devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96? 200 12ms","method":"GET","requestID":"572d17d4bef28593f4221a4ccbe14758","responseTime":12,"status":200,"url":"/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0NX0.wvHaKcOQf9WxKrfuiW5nVwFwnmZJAblQqTUZ0DncZt0","level":"info","message":"auth send jwt","requestID":"20bb64d22d00a77c28e6b623b22adcec"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"20bb64d22d00a77c28e6b623b22adcec","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"20bb64d22d00a77c28e6b623b22adcec"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.673513,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"20bb64d22d00a77c28e6b623b22adcec","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433045,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0NX0.wvHaKcOQf9WxKrfuiW5nVwFwnmZJAblQqTUZ0DncZt0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"20bb64d22d00a77c28e6b623b22adcec","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc"},"level":"info","message":"Attempting to run experiment","requestID":"20bb64d22d00a77c28e6b623b22adcec"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc"},"level":"info","message":"Attempting to book experiment","requestID":"20bb64d22d00a77c28e6b623b22adcec"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc"},"level":"info","message":"Successfully booked experiment","requestID":"20bb64d22d00a77c28e6b623b22adcec"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"60771280-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"60773990-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.233853,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"60771280-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433045,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0NX0.wvHaKcOQf9WxKrfuiW5nVwFwnmZJAblQqTUZ0DncZt0"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"60771280-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35418","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"client_addr":"127.0.0.1:35418","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.926671,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"60773990-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433045,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0NX0.wvHaKcOQf9WxKrfuiW5nVwFwnmZJAblQqTUZ0DncZt0"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"60773990-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F053f784a-2ddb-4381-8f29-e6946839bfdd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F053f784a-2ddb-4381-8f29-e6946839bfdd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:22.804050685Z"}]},"request_id":"38e15d55-fd8b-4f58-8bd1-5160665b8ae4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433045.4283063} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"60771280-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f91e80b-6a98-4e88-bcb6-fd42eb030d96","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f91e80b-6a98-4e88-bcb6-fd42eb030d96","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:22.888164095Z"}]},"request_id":"5fc01bd4-3932-4b45-a4da-bb9b64bfd28c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433045.43329} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"60771280-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"60773990-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/053f784a-2ddb-4381-8f29-e6946839bfdd? 200 18ms","method":"GET","requestID":"60771280-2989-11f0-8876-6f29f2a860cb","responseTime":18,"status":200,"url":"/devices/053f784a-2ddb-4381-8f29-e6946839bfdd?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"60773990-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96? 200 21ms","method":"GET","requestID":"60773990-2989-11f0-8876-6f29f2a860cb","responseTime":21,"status":200,"url":"/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc"},"level":"info","message":"Setting up experiment","requestID":"20bb64d22d00a77c28e6b623b22adcec"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"20bb64d22d00a77c28e6b623b22adcec"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc"},"level":"info","message":"Successfully locked booking for experiment","requestID":"20bb64d22d00a77c28e6b623b22adcec"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"20bb64d22d00a77c28e6b623b22adcec"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"20bb64d22d00a77c28e6b623b22adcec"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc"},"level":"info","message":"Attempting to update booking for experiment","requestID":"20bb64d22d00a77c28e6b623b22adcec"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc"},"level":"info","message":"Successfully updated booking for experiment","requestID":"20bb64d22d00a77c28e6b623b22adcec"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc"},"level":"info","message":"Successfully set up experiment","requestID":"20bb64d22d00a77c28e6b623b22adcec"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"60885090-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"608877a0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"60889eb0-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc"},"level":"info","message":"Successfully running experiment","requestID":"20bb64d22d00a77c28e6b623b22adcec"} authorization-1 | {"client_addr":"127.0.0.1:35418","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"client_addr":"127.0.0.1:35418","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.425555,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"60885090-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433045,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0NX0.wvHaKcOQf9WxKrfuiW5nVwFwnmZJAblQqTUZ0DncZt0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"60885090-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.667825,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"608877a0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433045,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0NX0.wvHaKcOQf9WxKrfuiW5nVwFwnmZJAblQqTUZ0DncZt0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"608877a0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f91e80b-6a98-4e88-bcb6-fd42eb030d96","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f91e80b-6a98-4e88-bcb6-fd42eb030d96","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:22.888164095Z"}]},"request_id":"0aa61449-96fb-42f4-a596-89d224468882","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433045.5394256} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F053f784a-2ddb-4381-8f29-e6946839bfdd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c64b1fc1-c292-41a5-b56c-94d31b445081","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433045.539409} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"608877a0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F053f784a-2ddb-4381-8f29-e6946839bfdd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F053f784a-2ddb-4381-8f29-e6946839bfdd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:22.804050685Z"}]},"request_id":"3837d131-03a0-4854-9817-83b1f9c9802a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433045.5404432} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.696379,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"60889eb0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"60889eb0-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"60885090-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"608877a0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96? 200 39ms","method":"GET","requestID":"608877a0-2989-11f0-8876-6f29f2a860cb","responseTime":39,"status":200,"url":"/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"60889eb0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/053f784a-2ddb-4381-8f29-e6946839bfdd/signaling 200 39ms","method":"POST","requestID":"60889eb0-2989-11f0-8876-6f29f2a860cb","responseTime":39,"status":200,"url":"/devices/053f784a-2ddb-4381-8f29-e6946839bfdd/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"60885090-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/053f784a-2ddb-4381-8f29-e6946839bfdd? 200 42ms","method":"GET","requestID":"60885090-2989-11f0-8876-6f29f2a860cb","responseTime":42,"status":200,"url":"/devices/053f784a-2ddb-4381-8f29-e6946839bfdd?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"608ee040-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F63d6b7af-6a01-4607-a871-470bb26fbdbc#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F63d6b7af-6a01-4607-a871-470bb26fbdbc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"c06759c7-38c5-4600-acf7-4a298527a21b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433045.5727594} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bb18024f-2432-4a9a-b9fd-6f408b7108b2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433045.5730572} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"608f0750-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"20bb64d22d00a77c28e6b623b22adcec","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f91e80b-6a98-4e88-bcb6-fd42eb030d96","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab41caee-5559-4803-9bd9-175ccf577841","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433045.5768003} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.418777,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"608ee040-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"608ee040-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F053f784a-2ddb-4381-8f29-e6946839bfdd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"04167797-f154-47bc-9eb9-fab00fc3b888","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433045.5782056} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.583734,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"608f0750-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"608f0750-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"20bb64d22d00a77c28e6b623b22adcec"} gateway-1 | {"time_local":"05/May/2025:08:17:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.224","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"20bb64d22d00a77c28e6b623b22adcec"} experiment-1 | {"level":"info","message":"POST /experiments? 201 221ms","method":"POST","requestID":"20bb64d22d00a77c28e6b623b22adcec","responseTime":221,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"608ee040-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96/signaling 200 11ms","method":"POST","requestID":"608ee040-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"608f0750-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/053f784a-2ddb-4381-8f29-e6946839bfdd/signaling 200 11ms","method":"POST","requestID":"608f0750-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/053f784a-2ddb-4381-8f29-e6946839bfdd/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0NX0.wvHaKcOQf9WxKrfuiW5nVwFwnmZJAblQqTUZ0DncZt0","level":"info","message":"auth send jwt","requestID":"b319837cc4080ef345cdf8f3fdad585d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"60910320-2989-11f0-8876-6f29f2a860cb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b319837cc4080ef345cdf8f3fdad585d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b319837cc4080ef345cdf8f3fdad585d"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"client_addr":"127.0.0.1:38696","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.96292,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f91e80b-6a98-4e88-bcb6-fd42eb030d96","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e1ccc084-78c8-4f06-83a2-5d30d429fdff","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433045.5913694} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"60910320-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"60910320-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.783632,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"b319837cc4080ef345cdf8f3fdad585d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433045,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0NX0.wvHaKcOQf9WxKrfuiW5nVwFwnmZJAblQqTUZ0DncZt0"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"b319837cc4080ef345cdf8f3fdad585d","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"60910320-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96/signaling 200 35ms","method":"POST","requestID":"60910320-2989-11f0-8876-6f29f2a860cb","responseTime":35,"status":200,"url":"/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F053f784a-2ddb-4381-8f29-e6946839bfdd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F053f784a-2ddb-4381-8f29-e6946839bfdd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:22.804050685Z"}]},"request_id":"9d922cad-530c-41e7-a40e-81d4bc76059d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433045.6219423} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"20bb64d22d00a77c28e6b623b22adcec"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc"},"level":"info","message":"Building connection plan","requestID":"20bb64d22d00a77c28e6b623b22adcec"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"c5444ba6-ed2d-4b4a-8cc7-5cc987f069f9"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"74996df3-65a3-4e7b-a179-ce592a2a48be"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"50a4106e-3044-41f5-badf-3ca2952b2a17"}]},"level":"info","message":"Built pairwise service configurations","requestID":"20bb64d22d00a77c28e6b623b22adcec"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"20bb64d22d00a77c28e6b623b22adcec"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b319837cc4080ef345cdf8f3fdad585d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"6096cf80-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b319837cc4080ef345cdf8f3fdad585d"} gateway-1 | {"time_local":"05/May/2025:08:17:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/053f784a-2ddb-4381-8f29-e6946839bfdd? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b319837cc4080ef345cdf8f3fdad585d"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:25Z"} device-1 | {"level":"info","message":"GET /devices/053f784a-2ddb-4381-8f29-e6946839bfdd? 200 38ms","method":"GET","requestID":"b319837cc4080ef345cdf8f3fdad585d","responseTime":38,"status":200,"url":"/devices/053f784a-2ddb-4381-8f29-e6946839bfdd?"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.725308,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6096cf80-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433045,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0NX0.wvHaKcOQf9WxKrfuiW5nVwFwnmZJAblQqTUZ0DncZt0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"6096cf80-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0NX0.wvHaKcOQf9WxKrfuiW5nVwFwnmZJAblQqTUZ0DncZt0","level":"info","message":"auth send jwt","requestID":"cbebfcfa6c352e4c86e85d3606af2592"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cbebfcfa6c352e4c86e85d3606af2592","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cbebfcfa6c352e4c86e85d3606af2592"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.631539,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"cbebfcfa6c352e4c86e85d3606af2592","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433045,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0NX0.wvHaKcOQf9WxKrfuiW5nVwFwnmZJAblQqTUZ0DncZt0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cbebfcfa6c352e4c86e85d3606af2592","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"1b6ab3b7-3a4f-4b52-b1d0-47f9bc8681e5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433045.6367996} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1d0b27e4-a2d0-4d8d-83ff-042a41a256e1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433045.637051} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f91e80b-6a98-4e88-bcb6-fd42eb030d96","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f91e80b-6a98-4e88-bcb6-fd42eb030d96","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:22.888164095Z"}]},"request_id":"b36924de-626b-47be-8160-5072cabab42c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433045.6376474} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"6096cf80-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cbebfcfa6c352e4c86e85d3606af2592","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cbebfcfa6c352e4c86e85d3606af2592"} device-1 | {"level":"info","message":"GET /devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96? 200 35ms","method":"GET","requestID":"cbebfcfa6c352e4c86e85d3606af2592","responseTime":35,"status":200,"url":"/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96?"} gateway-1 | {"time_local":"05/May/2025:08:17:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cbebfcfa6c352e4c86e85d3606af2592"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"6096cf80-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"6096cf80-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/472ae197-d34c-4f55-b420-670e8653adc3'","requestID":"6096cf80-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/472ae197-d34c-4f55-b420-670e8653adc3'","requestID":"6096cf80-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"6096cf80-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 61ms","method":"POST","requestID":"6096cf80-2989-11f0-8876-6f29f2a860cb","responseTime":61,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"6096cf80-2989-11f0-8876-6f29f2a860cb"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/472ae197-d34c-4f55-b420-670e8653adc3","device":"0f91e80b-6a98-4e88-bcb6-fd42eb030d96","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"20bb64d22d00a77c28e6b623b22adcec"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"60a7bf70-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F053f784a-2ddb-4381-8f29-e6946839bfdd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7834b78f-c227-4c19-8648-858d5c2f2e02","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433045.7393973} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.105241,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"60a7bf70-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 25ms","method":"POST","requestID":"60a7bf70-2989-11f0-8876-6f29f2a860cb","responseTime":25,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"60a7bf70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/053f784a-2ddb-4381-8f29-e6946839bfdd/signaling 200 28ms","method":"POST","requestID":"60a7bf70-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/devices/053f784a-2ddb-4381-8f29-e6946839bfdd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"60ac5350-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:25Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f91e80b-6a98-4e88-bcb6-fd42eb030d96","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"971b3edd-c9fa-44c1-956d-40476b031e1e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433045.769884} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.340014,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:25Z"} device-1 | {"device":"0f91e80b-6a98-4e88-bcb6-fd42eb030d96","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"60ac5350-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"content":{"canTrickle":true},"device":"0f91e80b-6a98-4e88-bcb6-fd42eb030d96","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"60ac5350-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"60ac5350-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96/signaling 200 9ms","method":"POST","requestID":"60ac5350-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96/signaling"} device-1 | {"device":"053f784a-2ddb-4381-8f29-e6946839bfdd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"472ae197-d34c-4f55-b420-670e8653adc3","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 6582822269270410242 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:0bCl\r\na=ice-pwd:dmRjfFKzIXp9xgL37MuR4let\r\na=ice-options:trickle\r\na=fingerprint:sha-256 8C:35:73:18:EA:94:F5:19:58:17:DD:E3:7A:4D:BB:BD:A3:6B:50:8C:5B:F2:DE:53:6E:B7:24:7A:9E:B7:B6:C3\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"0f91e80b-6a98-4e88-bcb6-fd42eb030d96","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:67484664 1 udp 2113937151 3c024b9f-0d31-4928-8cf9-d3c328bcae0d.local 50186 typ host generation 0 ufrag 0bCl network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0f91e80b-6a98-4e88-bcb6-fd42eb030d96","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"0f91e80b-6a98-4e88-bcb6-fd42eb030d96","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/472ae197-d34c-4f55-b420-670e8653adc3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"472ae197-d34c-4f55-b420-670e8653adc3","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8eb8fbe8aa27e8d89bb200721f935d4b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"device":"0f91e80b-6a98-4e88-bcb6-fd42eb030d96","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8eb8fbe8aa27e8d89bb200721f935d4b","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/472ae197-d34c-4f55-b420-670e8653adc3"}}},"level":"info","message":"received a callback","requestID":"8eb8fbe8aa27e8d89bb200721f935d4b"} device-1 | {"device":"053f784a-2ddb-4381-8f29-e6946839bfdd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"053f784a-2ddb-4381-8f29-e6946839bfdd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"053f784a-2ddb-4381-8f29-e6946839bfdd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"8eb8fbe8aa27e8d89bb200721f935d4b","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"8eb8fbe8aa27e8d89bb200721f935d4b"} device-1 | {"data":{"peerconnection":"472ae197-d34c-4f55-b420-670e8653adc3","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"053f784a-2ddb-4381-8f29-e6946839bfdd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0f91e80b-6a98-4e88-bcb6-fd42eb030d96","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"472ae197-d34c-4f55-b420-670e8653adc3","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"053f784a-2ddb-4381-8f29-e6946839bfdd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0f91e80b-6a98-4e88-bcb6-fd42eb030d96","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/472ae197-d34c-4f55-b420-670e8653adc3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"472ae197-d34c-4f55-b420-670e8653adc3","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"df4ca8f33fc3311ecf9a5356d75ddb9f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"df4ca8f33fc3311ecf9a5356d75ddb9f","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/472ae197-d34c-4f55-b420-670e8653adc3"}}},"level":"info","message":"received a callback","requestID":"df4ca8f33fc3311ecf9a5356d75ddb9f"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"61e8f200-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:27Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F472ae197-d34c-4f55-b420-670e8653adc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a84dc44a-8674-400f-8353-b9aeaa5202a9","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433047.844459} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.701468,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/472ae197-d34c-4f55-b420-670e8653adc3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"61e8f200-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/472ae197-d34c-4f55-b420-670e8653adc3","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"61e8f200-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"61e8f200-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/472ae197-d34c-4f55-b420-670e8653adc3 200 8ms","method":"GET","requestID":"61e8f200-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/peerconnections/472ae197-d34c-4f55-b420-670e8653adc3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 57ms","method":"POST","requestID":"df4ca8f33fc3311ecf9a5356d75ddb9f","responseTime":57,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch","requestID":"df4ca8f33fc3311ecf9a5356d75ddb9f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"61f12f60-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:27Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f91e80b-6a98-4e88-bcb6-fd42eb030d96","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"332b9291-3ad9-4e40-a26c-558207ae8120","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433047.9226556} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.772659,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"61f12f60-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0N30.dhCLerTWoWWj9E0oGxzzRJ5tvHPA9g5I7RsQLn-rgZw","level":"info","message":"auth send jwt","requestID":"1fb9499d3e08bba5737529996c3592d6"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"61f12f60-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1fb9499d3e08bba5737529996c3592d6","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc","requestID":"1fb9499d3e08bba5737529996c3592d6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"61f12f60-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96/signaling 200 33ms","method":"POST","requestID":"61f12f60-2989-11f0-8876-6f29f2a860cb","responseTime":33,"status":200,"url":"/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96/signaling"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:27Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.756319,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"1fb9499d3e08bba5737529996c3592d6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433047,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0N30.dhCLerTWoWWj9E0oGxzzRJ5tvHPA9g5I7RsQLn-rgZw"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"61f68690-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1fb9499d3e08bba5737529996c3592d6","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:27Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F053f784a-2ddb-4381-8f29-e6946839bfdd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7eec36bf-d759-4046-b487-f18d8f71fc50","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433047.9335792} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.461489,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:27Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc","requestID":"1fb9499d3e08bba5737529996c3592d6"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"61f68690-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"05/May/2025:08:17:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1fb9499d3e08bba5737529996c3592d6"} experiment-1 | {"level":"info","message":"GET /experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc 200 10ms","method":"GET","requestID":"1fb9499d3e08bba5737529996c3592d6","responseTime":10,"status":200,"url":"/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"61f68690-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"61f68690-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/053f784a-2ddb-4381-8f29-e6946839bfdd/signaling 200 9ms","method":"POST","requestID":"61f68690-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/053f784a-2ddb-4381-8f29-e6946839bfdd/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0N30.dhCLerTWoWWj9E0oGxzzRJ5tvHPA9g5I7RsQLn-rgZw","level":"info","message":"auth send jwt","requestID":"b22a0f297213f408ee913efbad2381d0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b22a0f297213f408ee913efbad2381d0","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc","requestID":"b22a0f297213f408ee913efbad2381d0"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:27Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.672463,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"b22a0f297213f408ee913efbad2381d0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433047,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0N30.dhCLerTWoWWj9E0oGxzzRJ5tvHPA9g5I7RsQLn-rgZw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b22a0f297213f408ee913efbad2381d0","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc"},"level":"info","message":"Attempting to finish experiment","requestID":"b22a0f297213f408ee913efbad2381d0"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"61fcef30-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:27Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.755356,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/472ae197-d34c-4f55-b420-670e8653adc3","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"61fcef30-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/472ae197-d34c-4f55-b420-670e8653adc3","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433047,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0N30.dhCLerTWoWWj9E0oGxzzRJ5tvHPA9g5I7RsQLn-rgZw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"61fcef30-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/472ae197-d34c-4f55-b420-670e8653adc3","device":"0f91e80b-6a98-4e88-bcb6-fd42eb030d96","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"053f784a-2ddb-4381-8f29-e6946839bfdd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"053f784a-2ddb-4381-8f29-e6946839bfdd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"053f784a-2ddb-4381-8f29-e6946839bfdd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/472ae197-d34c-4f55-b420-670e8653adc3' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/472ae197-d34c-4f55-b420-670e8653adc3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"472ae197-d34c-4f55-b420-670e8653adc3","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F472ae197-d34c-4f55-b420-670e8653adc3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F472ae197-d34c-4f55-b420-670e8653adc3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"b453dfbc-0a41-4dc1-ac1d-459c55079171","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433047.984245} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39fb26ca-8259-4da1-a20e-96432afeb977","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433047.9844975} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8ecf66f98f50f10d467ee40cb853e6bd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"8ecf66f98f50f10d467ee40cb853e6bd","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"61fcef30-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"51ec0c75f83803ca939879bbd8bb2598","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/472ae197-d34c-4f55-b420-670e8653adc3"}}},"level":"info","message":"received a callback","requestID":"8ecf66f98f50f10d467ee40cb853e6bd"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"51ec0c75f83803ca939879bbd8bb2598","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/472ae197-d34c-4f55-b420-670e8653adc3"}}},"level":"info","message":"received a callback","requestID":"51ec0c75f83803ca939879bbd8bb2598"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"61fcef30-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/472ae197-d34c-4f55-b420-670e8653adc3 204 59ms","method":"DELETE","requestID":"61fcef30-2989-11f0-8876-6f29f2a860cb","responseTime":59,"status":204,"url":"/peerconnections/472ae197-d34c-4f55-b420-670e8653adc3"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc"},"level":"info","message":"Successfully finished experiment","requestID":"b22a0f297213f408ee913efbad2381d0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"620bbc40-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:28Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f91e80b-6a98-4e88-bcb6-fd42eb030d96","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dbd6fd81-dedf-459d-bcb6-fc7f679f6546","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433048.0725656} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.315807,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"620bbc40-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"620bbc40-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"620bbc40-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96/signaling 200 8ms","method":"POST","requestID":"620bbc40-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"620d42e0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F63d6b7af-6a01-4607-a871-470bb26fbdbc': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F63d6b7af-6a01-4607-a871-470bb26fbdbc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"8bfeed26-47e2-4b97-8f82-6cbec8d5d127","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433048.0793045} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ae18e89e-e374-4925-b664-0ae273e0036d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433048.0796561} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"b22a0f297213f408ee913efbad2381d0","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:28Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F053f784a-2ddb-4381-8f29-e6946839bfdd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"edee8266-c409-4799-846c-e97adf1fcffd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433048.0821931} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.383171,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"620d42e0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"620d42e0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"620d42e0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/053f784a-2ddb-4381-8f29-e6946839bfdd/signaling 200 8ms","method":"POST","requestID":"620d42e0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/053f784a-2ddb-4381-8f29-e6946839bfdd/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc","requestID":"b22a0f297213f408ee913efbad2381d0"} gateway-1 | {"time_local":"05/May/2025:08:17:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.249","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b22a0f297213f408ee913efbad2381d0"} experiment-1 | {"level":"info","message":"DELETE /experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc 204 247ms","method":"DELETE","requestID":"b22a0f297213f408ee913efbad2381d0","responseTime":247,"status":204,"url":"/experiments/63d6b7af-6a01-4607-a871-470bb26fbdbc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 225ms","method":"POST","requestID":"8ecf66f98f50f10d467ee40cb853e6bd","responseTime":225,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2491","request_time":"4.297","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"958148d08d13e693d655571562db4b1e"} gateway-1 | {"time_local":"05/May/2025:08:17:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.227","http_referrer":"","http_user_agent":"node-fetch","requestID":"8ecf66f98f50f10d467ee40cb853e6bd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 224ms","method":"POST","requestID":"51ec0c75f83803ca939879bbd8bb2598","responseTime":224,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.227","http_referrer":"","http_user_agent":"node-fetch","requestID":"51ec0c75f83803ca939879bbd8bb2598"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0OH0.UA9-VffRngwz4e1M37njsB2GEQhpjUTQHu5rkye_BGA","level":"info","message":"auth send jwt","requestID":"0d85bed52c612d0b2031816136591978"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0d85bed52c612d0b2031816136591978","responseTime":5,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/053f784a-2ddb-4381-8f29-e6946839bfdd' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"0d85bed52c612d0b2031816136591978"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:28Z"} gateway-1 | {"time_local":"05/May/2025:08:17:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"2.906","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"602deda141f75e9e798727d4b6cd0dbd"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.931356,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:28Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0f91e80b-6a98-4e88-bcb6-fd42eb030d96' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"0d85bed52c612d0b2031816136591978","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433048,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0OH0.UA9-VffRngwz4e1M37njsB2GEQhpjUTQHu5rkye_BGA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0d85bed52c612d0b2031816136591978","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f9a0dd8-275a-4693-9e22-fd93f7ad118d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ef3ba006-93d6-4726-9fe4-bcc1925037ef","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433048.26119} authorization-1 | {"level":"info","message":"POST /relations/query 200 31ms","method":"POST","requestID":"0d85bed52c612d0b2031816136591978","responseTime":31,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"52795f4b-910e-4576-8a00-50d82ab8afa7","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433048.2661853} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0d85bed52c612d0b2031816136591978","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f9a0dd8-275a-4693-9e22-fd93f7ad118d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"dabec914-6649-451c-8311-5f7afa48f7d6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433048.2773576} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cbf8f766-54ee-49d0-ab74-4379ba0bf15e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433048.2775033} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"0d85bed52c612d0b2031816136591978","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f9a0dd8-275a-4693-9e22-fd93f7ad118d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f9a0dd8-275a-4693-9e22-fd93f7ad118d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:28.277333880Z"}]},"request_id":"9a07cc83-9d3e-4d3f-b92b-88128b924594","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433048.305897} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"0d85bed52c612d0b2031816136591978","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0d85bed52c612d0b2031816136591978"} gateway-1 | {"time_local":"05/May/2025:08:17:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.119","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0d85bed52c612d0b2031816136591978"} device-1 | {"level":"info","message":"POST /devices? 201 91ms","method":"POST","requestID":"0d85bed52c612d0b2031816136591978","responseTime":91,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0OH0.UA9-VffRngwz4e1M37njsB2GEQhpjUTQHu5rkye_BGA","level":"info","message":"auth send jwt","requestID":"b058909457ac05df99c621cd300e2239"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b058909457ac05df99c621cd300e2239","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b058909457ac05df99c621cd300e2239"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:28Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.011949,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"b058909457ac05df99c621cd300e2239","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433048,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0OH0.UA9-VffRngwz4e1M37njsB2GEQhpjUTQHu5rkye_BGA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b058909457ac05df99c621cd300e2239","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F243a64e8-c02a-4c1f-b262-af0f0e2c6f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d2a6c304-d276-41e7-82a4-d6495a2cebf0","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433048.3282397} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"b058909457ac05df99c621cd300e2239","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"46a95ff3-d9a3-4d94-8f90-ac631e28bc2d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433048.3608737} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"b058909457ac05df99c621cd300e2239","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F243a64e8-c02a-4c1f-b262-af0f0e2c6f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"80d55cee-c8d5-4c7a-a707-6139d2a42d3c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433048.3684602} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"05ddddfb-9055-4831-b145-b7576957eb8f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433048.3686838} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"b058909457ac05df99c621cd300e2239","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F243a64e8-c02a-4c1f-b262-af0f0e2c6f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F243a64e8-c02a-4c1f-b262-af0f0e2c6f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:28.368433455Z"}]},"request_id":"fc8f8eb9-7171-482b-b6e3-93d2c9377cc6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433048.3728004} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b058909457ac05df99c621cd300e2239","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b058909457ac05df99c621cd300e2239"} gateway-1 | {"time_local":"05/May/2025:08:17:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b058909457ac05df99c621cd300e2239"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"b058909457ac05df99c621cd300e2239","responseTime":62,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0OX0.q2SXfWaIxemGpB4gwc7ojzzi7PX6qBrEsToMwfxbXr8","level":"info","message":"auth send jwt","requestID":"57a64e5ccc6a9821d1af7814c130c1d0"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"57a64e5ccc6a9821d1af7814c130c1d0","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"57a64e5ccc6a9821d1af7814c130c1d0"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:29Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.621868,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"57a64e5ccc6a9821d1af7814c130c1d0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433049,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0OX0.q2SXfWaIxemGpB4gwc7ojzzi7PX6qBrEsToMwfxbXr8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"57a64e5ccc6a9821d1af7814c130c1d0","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f9a0dd8-275a-4693-9e22-fd93f7ad118d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f9a0dd8-275a-4693-9e22-fd93f7ad118d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:28.277333880Z"}]},"request_id":"2df4b8e3-87bd-4bcf-95f1-493aee084cf1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433049.3220592} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"57a64e5ccc6a9821d1af7814c130c1d0","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"623d6471-d860-491d-b9b9-f8c73e04dcdc","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433049.3262541} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"57a64e5ccc6a9821d1af7814c130c1d0","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f9a0dd8-275a-4693-9e22-fd93f7ad118d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f9a0dd8-275a-4693-9e22-fd93f7ad118d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:28.277333880Z"}]},"request_id":"102aae78-f1b8-4634-b7c6-a857147b1021","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433049.362593} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"57a64e5ccc6a9821d1af7814c130c1d0","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"57a64e5ccc6a9821d1af7814c130c1d0"} device-1 | {"level":"info","message":"PATCH /devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d 200 50ms","method":"PATCH","requestID":"57a64e5ccc6a9821d1af7814c130c1d0","responseTime":50,"status":200,"url":"/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d"} gateway-1 | {"time_local":"05/May/2025:08:17:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.079","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"57a64e5ccc6a9821d1af7814c130c1d0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0OX0.q2SXfWaIxemGpB4gwc7ojzzi7PX6qBrEsToMwfxbXr8","level":"info","message":"auth send jwt","requestID":"eacc9232ab32469d4cc2553be8b713bd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eacc9232ab32469d4cc2553be8b713bd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"eacc9232ab32469d4cc2553be8b713bd"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:29Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.651579,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"eacc9232ab32469d4cc2553be8b713bd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433049,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA0OX0.q2SXfWaIxemGpB4gwc7ojzzi7PX6qBrEsToMwfxbXr8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"eacc9232ab32469d4cc2553be8b713bd","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"eacc9232ab32469d4cc2553be8b713bd"} device-1 | {"level":"info","message":"POST /devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d/websocket 200 15ms","method":"POST","requestID":"eacc9232ab32469d4cc2553be8b713bd","responseTime":15,"status":200,"url":"/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d/websocket"} gateway-1 | {"time_local":"05/May/2025:08:17:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.018","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"eacc9232ab32469d4cc2553be8b713bd"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a7470efcd19876ffd12d9035426a18c6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a7470efcd19876ffd12d9035426a18c6","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:17:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a7470efcd19876ffd12d9035426a18c6"} device-1 | {"level":"info","message":"OPTIONS /devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98/websocket 200 1ms","method":"OPTIONS","requestID":"a7470efcd19876ffd12d9035426a18c6","responseTime":1,"status":200,"url":"/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1MH0.k_3zsFW7s6cBOTft2ihcBrspn2V_LoLgl8iPrXkctK0","level":"info","message":"auth send jwt","requestID":"8daadbee0dfeafd1a14d58a7446e8b45"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8daadbee0dfeafd1a14d58a7446e8b45","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8daadbee0dfeafd1a14d58a7446e8b45"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:30Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.342324,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"8daadbee0dfeafd1a14d58a7446e8b45","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433050,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1MH0.k_3zsFW7s6cBOTft2ihcBrspn2V_LoLgl8iPrXkctK0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8daadbee0dfeafd1a14d58a7446e8b45","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8daadbee0dfeafd1a14d58a7446e8b45"} device-1 | {"level":"info","message":"POST /devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98/websocket 200 28ms","method":"POST","requestID":"8daadbee0dfeafd1a14d58a7446e8b45","responseTime":28,"status":200,"url":"/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98/websocket"} gateway-1 | {"time_local":"05/May/2025:08:17:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.033","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8daadbee0dfeafd1a14d58a7446e8b45"} device-1 | {"level":"info","message":"device 'http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1MH0.k_3zsFW7s6cBOTft2ihcBrspn2V_LoLgl8iPrXkctK0","level":"info","message":"auth send jwt","requestID":"5754f1dc51e76db4b3c436f2502adb55"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5754f1dc51e76db4b3c436f2502adb55","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5754f1dc51e76db4b3c436f2502adb55"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:30Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.211679,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5754f1dc51e76db4b3c436f2502adb55","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433050,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1MH0.k_3zsFW7s6cBOTft2ihcBrspn2V_LoLgl8iPrXkctK0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5754f1dc51e76db4b3c436f2502adb55","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f9a0dd8-275a-4693-9e22-fd93f7ad118d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f9a0dd8-275a-4693-9e22-fd93f7ad118d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:28.277333880Z"}]},"request_id":"7fe0ef70-163a-4f2c-b588-8a02bdbf3916","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433050.765588} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5754f1dc51e76db4b3c436f2502adb55","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5754f1dc51e76db4b3c436f2502adb55"} gateway-1 | {"time_local":"05/May/2025:08:17:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5754f1dc51e76db4b3c436f2502adb55"} device-1 | {"level":"info","message":"GET /devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d? 200 10ms","method":"GET","requestID":"5754f1dc51e76db4b3c436f2502adb55","responseTime":10,"status":200,"url":"/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1MH0.k_3zsFW7s6cBOTft2ihcBrspn2V_LoLgl8iPrXkctK0","level":"info","message":"auth send jwt","requestID":"ee7e49c6e32248696e1be44af5a7f18f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ee7e49c6e32248696e1be44af5a7f18f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ee7e49c6e32248696e1be44af5a7f18f"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:30Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.942284,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"ee7e49c6e32248696e1be44af5a7f18f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433050,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1MH0.k_3zsFW7s6cBOTft2ihcBrspn2V_LoLgl8iPrXkctK0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ee7e49c6e32248696e1be44af5a7f18f","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F243a64e8-c02a-4c1f-b262-af0f0e2c6f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F243a64e8-c02a-4c1f-b262-af0f0e2c6f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:28.368433455Z"}]},"request_id":"7e42e344-9d12-438e-ba30-17271adeda0d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433050.7799475} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ee7e49c6e32248696e1be44af5a7f18f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ee7e49c6e32248696e1be44af5a7f18f"} device-1 | {"level":"info","message":"GET /devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98? 200 19ms","method":"GET","requestID":"ee7e49c6e32248696e1be44af5a7f18f","responseTime":19,"status":200,"url":"/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98?"} gateway-1 | {"time_local":"05/May/2025:08:17:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ee7e49c6e32248696e1be44af5a7f18f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1MH0.k_3zsFW7s6cBOTft2ihcBrspn2V_LoLgl8iPrXkctK0","level":"info","message":"auth send jwt","requestID":"5e57e57a0e3f17698acf64e6bd3f681a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5e57e57a0e3f17698acf64e6bd3f681a","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:30Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.82902,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5e57e57a0e3f17698acf64e6bd3f681a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433050,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1MH0.k_3zsFW7s6cBOTft2ihcBrspn2V_LoLgl8iPrXkctK0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5e57e57a0e3f17698acf64e6bd3f681a","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"5e57e57a0e3f17698acf64e6bd3f681a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2fbf017-fbe8-4e16-829e-729392f49365"},"level":"info","message":"Attempting to run experiment","requestID":"5e57e57a0e3f17698acf64e6bd3f681a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2fbf017-fbe8-4e16-829e-729392f49365"},"level":"info","message":"Attempting to book experiment","requestID":"5e57e57a0e3f17698acf64e6bd3f681a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2fbf017-fbe8-4e16-829e-729392f49365"},"level":"info","message":"Successfully booked experiment","requestID":"5e57e57a0e3f17698acf64e6bd3f681a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"63b6fb40-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"63b74960-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:30Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.784092,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"63b6fb40-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433050,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1MH0.k_3zsFW7s6cBOTft2ihcBrspn2V_LoLgl8iPrXkctK0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"63b6fb40-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:30Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.833568,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"63b74960-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433050,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1MH0.k_3zsFW7s6cBOTft2ihcBrspn2V_LoLgl8iPrXkctK0"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"63b74960-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f9a0dd8-275a-4693-9e22-fd93f7ad118d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f9a0dd8-275a-4693-9e22-fd93f7ad118d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:28.277333880Z"}]},"request_id":"5634c498-6244-401a-9ae7-d38b7c750203","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433050.8766701} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"63b6fb40-2989-11f0-8876-6f29f2a860cb","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F243a64e8-c02a-4c1f-b262-af0f0e2c6f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F243a64e8-c02a-4c1f-b262-af0f0e2c6f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:28.368433455Z"}]},"request_id":"b285e4ce-e86e-4a29-8b2b-34d0c3d159fe","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433050.9040449} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"63b6fb40-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"63b74960-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d? 200 36ms","method":"GET","requestID":"63b6fb40-2989-11f0-8876-6f29f2a860cb","responseTime":36,"status":200,"url":"/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"63b74960-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98? 200 37ms","method":"GET","requestID":"63b74960-2989-11f0-8876-6f29f2a860cb","responseTime":37,"status":200,"url":"/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2fbf017-fbe8-4e16-829e-729392f49365"},"level":"info","message":"Setting up experiment","requestID":"5e57e57a0e3f17698acf64e6bd3f681a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2fbf017-fbe8-4e16-829e-729392f49365"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"5e57e57a0e3f17698acf64e6bd3f681a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2fbf017-fbe8-4e16-829e-729392f49365"},"level":"info","message":"Successfully locked booking for experiment","requestID":"5e57e57a0e3f17698acf64e6bd3f681a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2fbf017-fbe8-4e16-829e-729392f49365"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"5e57e57a0e3f17698acf64e6bd3f681a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2fbf017-fbe8-4e16-829e-729392f49365"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"5e57e57a0e3f17698acf64e6bd3f681a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2fbf017-fbe8-4e16-829e-729392f49365"},"level":"info","message":"Attempting to update booking for experiment","requestID":"5e57e57a0e3f17698acf64e6bd3f681a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2fbf017-fbe8-4e16-829e-729392f49365"},"level":"info","message":"Successfully updated booking for experiment","requestID":"5e57e57a0e3f17698acf64e6bd3f681a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2fbf017-fbe8-4e16-829e-729392f49365"},"level":"info","message":"Successfully set up experiment","requestID":"5e57e57a0e3f17698acf64e6bd3f681a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"63c5c850-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"63c5ef60-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"63c61670-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2fbf017-fbe8-4e16-829e-729392f49365"},"level":"info","message":"Successfully running experiment","requestID":"5e57e57a0e3f17698acf64e6bd3f681a"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:30Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:30Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.932997,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"63c5c850-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433050,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1MH0.k_3zsFW7s6cBOTft2ihcBrspn2V_LoLgl8iPrXkctK0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"63c5c850-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.582551,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:30Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"63c5ef60-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433050,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1MH0.k_3zsFW7s6cBOTft2ihcBrspn2V_LoLgl8iPrXkctK0"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"63c5ef60-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f9a0dd8-275a-4693-9e22-fd93f7ad118d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7324db8b-f258-4abb-a47d-7a343e11093f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433050.9969933} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.020647,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"63c61670-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"63c61670-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f9a0dd8-275a-4693-9e22-fd93f7ad118d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f9a0dd8-275a-4693-9e22-fd93f7ad118d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:28.277333880Z"}]},"request_id":"2e765937-837e-4f97-951c-b320d782daff","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433050.999201} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"63c5c850-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F243a64e8-c02a-4c1f-b262-af0f0e2c6f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F243a64e8-c02a-4c1f-b262-af0f0e2c6f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:28.368433455Z"}]},"request_id":"880debd9-64bf-4f96-8e43-3a4c4ae8bab5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433051.001493} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"63c5ef60-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"63c61670-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d/signaling 200 35ms","method":"POST","requestID":"63c61670-2989-11f0-8876-6f29f2a860cb","responseTime":35,"status":200,"url":"/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"63cc30f0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"63c5c850-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d? 200 44ms","method":"GET","requestID":"63c5c850-2989-11f0-8876-6f29f2a860cb","responseTime":44,"status":200,"url":"/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"63c5ef60-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98? 200 44ms","method":"GET","requestID":"63c5ef60-2989-11f0-8876-6f29f2a860cb","responseTime":44,"status":200,"url":"/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98?"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:31Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F243a64e8-c02a-4c1f-b262-af0f0e2c6f98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b3a7cd5-9e65-4bed-8cbd-ce978f0e978c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433051.0118217} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa2fbf017-fbe8-4e16-829e-729392f49365#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa2fbf017-fbe8-4e16-829e-729392f49365","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"b6cb6a7d-e69c-427a-88ef-1e1c394f9a60","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433051.0121517} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"63ccf440-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dbe5be16-77c7-4eca-a1e3-25b174b18575","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433051.0124624} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.392301,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"63cc30f0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"63cc30f0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","method":"POST","requestID":"5e57e57a0e3f17698acf64e6bd3f681a","responseTime":45,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:31Z"} gateway-1 | {"time_local":"05/May/2025:08:17:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.251","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5e57e57a0e3f17698acf64e6bd3f681a"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f9a0dd8-275a-4693-9e22-fd93f7ad118d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6f6c4e52-c814-4b43-b476-59cf91a14cef","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433051.0422888} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a2fbf017-fbe8-4e16-829e-729392f49365","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"5e57e57a0e3f17698acf64e6bd3f681a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"63cc30f0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.543363,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"63ccf440-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"level":"info","message":"POST /experiments? 201 246ms","method":"POST","requestID":"5e57e57a0e3f17698acf64e6bd3f681a","responseTime":246,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"63ccf440-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98/signaling 200 38ms","method":"POST","requestID":"63cc30f0-2989-11f0-8876-6f29f2a860cb","responseTime":38,"status":200,"url":"/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"63ccf440-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d/signaling 200 35ms","method":"POST","requestID":"63ccf440-2989-11f0-8876-6f29f2a860cb","responseTime":35,"status":200,"url":"/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1MX0.30JqQ6u4FpvN6aj9MZqmiZTUVT3YhLYZXbqr21FZCyk","level":"info","message":"auth send jwt","requestID":"e5da5d5966a5a24d17364bee299d8948"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e5da5d5966a5a24d17364bee299d8948","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"63d29990-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e5da5d5966a5a24d17364bee299d8948"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:31Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:31Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.742238,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"e5da5d5966a5a24d17364bee299d8948","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433051,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1MX0.30JqQ6u4FpvN6aj9MZqmiZTUVT3YhLYZXbqr21FZCyk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e5da5d5966a5a24d17364bee299d8948","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F243a64e8-c02a-4c1f-b262-af0f0e2c6f98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"04b2f609-5fca-40db-a76f-e3507a420bda","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433051.0528681} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.184293,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"63d29990-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"63d29990-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f9a0dd8-275a-4693-9e22-fd93f7ad118d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f9a0dd8-275a-4693-9e22-fd93f7ad118d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:28.277333880Z"}]},"request_id":"93df1c42-cc5c-43fb-8d13-7d81d2196427","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433051.0563765} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"63d29990-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98/signaling 200 8ms","method":"POST","requestID":"63d29990-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e5da5d5966a5a24d17364bee299d8948","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2fbf017-fbe8-4e16-829e-729392f49365"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"5e57e57a0e3f17698acf64e6bd3f681a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2fbf017-fbe8-4e16-829e-729392f49365"},"level":"info","message":"Building connection plan","requestID":"5e57e57a0e3f17698acf64e6bd3f681a"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"ac6eeccc-f87a-4da4-b2ba-80eab01cc305"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"32f816da-40fe-421e-9517-810f642fc477"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e549c553-d2d0-4585-878d-f289be07d3cd"}]},"level":"info","message":"Built pairwise service configurations","requestID":"5e57e57a0e3f17698acf64e6bd3f681a"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"5e57e57a0e3f17698acf64e6bd3f681a"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e5da5d5966a5a24d17364bee299d8948"} gateway-1 | {"time_local":"05/May/2025:08:17:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e5da5d5966a5a24d17364bee299d8948"} device-1 | {"level":"info","message":"GET /devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d? 200 9ms","method":"GET","requestID":"e5da5d5966a5a24d17364bee299d8948","responseTime":9,"status":200,"url":"/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"63d44740-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:31Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.901854,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:31Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1MX0.30JqQ6u4FpvN6aj9MZqmiZTUVT3YhLYZXbqr21FZCyk","level":"info","message":"auth send jwt","requestID":"a3f5c8e0f425e006418fbfd50f68b584"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a3f5c8e0f425e006418fbfd50f68b584","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"63d44740-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433050,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1MH0.k_3zsFW7s6cBOTft2ihcBrspn2V_LoLgl8iPrXkctK0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a3f5c8e0f425e006418fbfd50f68b584"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"63d44740-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:31Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.745934,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"a3f5c8e0f425e006418fbfd50f68b584","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433051,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1MX0.30JqQ6u4FpvN6aj9MZqmiZTUVT3YhLYZXbqr21FZCyk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a3f5c8e0f425e006418fbfd50f68b584","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F243a64e8-c02a-4c1f-b262-af0f0e2c6f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F243a64e8-c02a-4c1f-b262-af0f0e2c6f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:28.368433455Z"}]},"request_id":"fbaa2f92-c1a5-460e-ae7f-264cc032ca29","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433051.0937302} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a3f5c8e0f425e006418fbfd50f68b584","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"3e13ac18-0398-4680-9088-f08871e919fe","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433051.0945532} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e1777a2-102c-4c89-9dae-615c4d04d342","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433051.0947802} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"63d44740-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a3f5c8e0f425e006418fbfd50f68b584"} device-1 | {"level":"info","message":"GET /devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98? 200 34ms","method":"GET","requestID":"a3f5c8e0f425e006418fbfd50f68b584","responseTime":34,"status":200,"url":"/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98?"} gateway-1 | {"time_local":"05/May/2025:08:17:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a3f5c8e0f425e006418fbfd50f68b584"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"63d44740-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"63d44740-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1'","requestID":"63d44740-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1'","requestID":"63d44740-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"63d44740-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 82ms","method":"POST","requestID":"63d44740-2989-11f0-8876-6f29f2a860cb","responseTime":82,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"63d44740-2989-11f0-8876-6f29f2a860cb"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1","device":"243a64e8-c02a-4c1f-b262-af0f0e2c6f98","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2fbf017-fbe8-4e16-829e-729392f49365"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"5e57e57a0e3f17698acf64e6bd3f681a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"63e4e910-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:31Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f9a0dd8-275a-4693-9e22-fd93f7ad118d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"14801895-1bf0-40af-9ac5-205dda36b87f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433051.1733847} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.771467,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"63e4e910-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"63e4e910-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"63e4e910-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d/signaling 200 9ms","method":"POST","requestID":"63e4e910-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d/signaling"} device-1 | {"device":"243a64e8-c02a-4c1f-b262-af0f0e2c6f98","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"243a64e8-c02a-4c1f-b262-af0f0e2c6f98","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"63e696c0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:31Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F243a64e8-c02a-4c1f-b262-af0f0e2c6f98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9e2b7062-7079-403f-a166-cee2ca16cbbb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433051.1839244} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.07707,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"63e696c0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"63e696c0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"63e696c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98/signaling 200 7ms","method":"POST","requestID":"63e696c0-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98/signaling"} device-1 | {"device":"2f9a0dd8-275a-4693-9e22-fd93f7ad118d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 7359154945495141403 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:6l4N\r\na=ice-pwd:FHZNZftBMeVJlFVwTU7vzUxF\r\na=ice-options:trickle\r\na=fingerprint:sha-256 B7:B2:A6:23:14:D3:FA:4C:4C:A0:50:D9:DD:5B:91:81:9F:81:48:A2:66:E5:F1:73:12:4B:EE:BA:DA:56:57:48\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"243a64e8-c02a-4c1f-b262-af0f0e2c6f98","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3417563246 1 udp 2113937151 d24fb1b1-bc64-438d-ab1b-39ea7e982c1a.local 59810 typ host generation 0 ufrag 6l4N network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"243a64e8-c02a-4c1f-b262-af0f0e2c6f98","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"243a64e8-c02a-4c1f-b262-af0f0e2c6f98","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"243a64e8-c02a-4c1f-b262-af0f0e2c6f98","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a0924e8a0ea8d08a59b982643a687257","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a0924e8a0ea8d08a59b982643a687257","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1"}}},"level":"info","message":"received a callback","requestID":"a0924e8a0ea8d08a59b982643a687257"} device-1 | {"device":"2f9a0dd8-275a-4693-9e22-fd93f7ad118d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2f9a0dd8-275a-4693-9e22-fd93f7ad118d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2f9a0dd8-275a-4693-9e22-fd93f7ad118d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"a0924e8a0ea8d08a59b982643a687257","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.006","http_referrer":"","http_user_agent":"node-fetch","requestID":"a0924e8a0ea8d08a59b982643a687257"} device-1 | {"device":"2f9a0dd8-275a-4693-9e22-fd93f7ad118d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2f9a0dd8-275a-4693-9e22-fd93f7ad118d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"243a64e8-c02a-4c1f-b262-af0f0e2c6f98","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"243a64e8-c02a-4c1f-b262-af0f0e2c6f98","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"99eaca6ce18be597286571a37078043d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"99eaca6ce18be597286571a37078043d","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1"}}},"level":"info","message":"received a callback","requestID":"99eaca6ce18be597286571a37078043d"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"6522c040-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:33Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff8fdde5e-6c1c-4b4f-a469-051d6d7d35d1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"43046ab0-5a2b-48a0-86eb-f4bf0ecc818c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433053.2566304} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.288654,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6522c040-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6522c040-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"6522c040-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1 200 7ms","method":"GET","requestID":"6522c040-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/peerconnections/f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 54ms","method":"POST","requestID":"99eaca6ce18be597286571a37078043d","responseTime":54,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch","requestID":"99eaca6ce18be597286571a37078043d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"652a8870-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:33Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F243a64e8-c02a-4c1f-b262-af0f0e2c6f98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cbe117e4-6756-4203-bc26-e0b8c18f08dd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433053.307393} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.324631,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"652a8870-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"652a8870-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"652a8870-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98/signaling 200 8ms","method":"POST","requestID":"652a8870-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"652c0f10-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:33Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f9a0dd8-275a-4693-9e22-fd93f7ad118d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"afa34873-64c9-43f8-bd25-b802cfd35f1e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433053.3170745} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.492548,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"652c0f10-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"652c0f10-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"652c0f10-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d/signaling 200 32ms","method":"POST","requestID":"652c0f10-2989-11f0-8876-6f29f2a860cb","responseTime":32,"status":200,"url":"/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1M30.Av4hXNRvPUHNB2dm4Qffl_adtCCaUWy-OZxpyIG13UY","level":"info","message":"auth send jwt","requestID":"135d6628043843c4d38276e44989e5cf"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"135d6628043843c4d38276e44989e5cf","responseTime":26,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a2fbf017-fbe8-4e16-829e-729392f49365","requestID":"135d6628043843c4d38276e44989e5cf"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:33Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.67168,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a2fbf017-fbe8-4e16-829e-729392f49365","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"135d6628043843c4d38276e44989e5cf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/a2fbf017-fbe8-4e16-829e-729392f49365","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433053,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1M30.Av4hXNRvPUHNB2dm4Qffl_adtCCaUWy-OZxpyIG13UY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"135d6628043843c4d38276e44989e5cf","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a2fbf017-fbe8-4e16-829e-729392f49365","requestID":"135d6628043843c4d38276e44989e5cf"} gateway-1 | {"time_local":"05/May/2025:08:17:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a2fbf017-fbe8-4e16-829e-729392f49365 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"135d6628043843c4d38276e44989e5cf"} experiment-1 | {"level":"info","message":"GET /experiments/a2fbf017-fbe8-4e16-829e-729392f49365 200 10ms","method":"GET","requestID":"135d6628043843c4d38276e44989e5cf","responseTime":10,"status":200,"url":"/experiments/a2fbf017-fbe8-4e16-829e-729392f49365"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1M30.Av4hXNRvPUHNB2dm4Qffl_adtCCaUWy-OZxpyIG13UY","level":"info","message":"auth send jwt","requestID":"acbb911fdd574d7b8c8626d22bbb2c4c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"acbb911fdd574d7b8c8626d22bbb2c4c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a2fbf017-fbe8-4e16-829e-729392f49365","requestID":"acbb911fdd574d7b8c8626d22bbb2c4c"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:33Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.857892,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:33Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a2fbf017-fbe8-4e16-829e-729392f49365","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"acbb911fdd574d7b8c8626d22bbb2c4c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/a2fbf017-fbe8-4e16-829e-729392f49365","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433053,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1M30.Av4hXNRvPUHNB2dm4Qffl_adtCCaUWy-OZxpyIG13UY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"acbb911fdd574d7b8c8626d22bbb2c4c","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2fbf017-fbe8-4e16-829e-729392f49365"},"level":"info","message":"Attempting to finish experiment","requestID":"acbb911fdd574d7b8c8626d22bbb2c4c"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"6534c1a0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:33Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.657151,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:33Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6534c1a0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433053,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1M30.Av4hXNRvPUHNB2dm4Qffl_adtCCaUWy-OZxpyIG13UY"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"6534c1a0-2989-11f0-8876-6f29f2a860cb","responseTime":26,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1","device":"243a64e8-c02a-4c1f-b262-af0f0e2c6f98","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"2f9a0dd8-275a-4693-9e22-fd93f7ad118d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2f9a0dd8-275a-4693-9e22-fd93f7ad118d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2f9a0dd8-275a-4693-9e22-fd93f7ad118d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"53bfa7442064a012188e966df2d75cf5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"53bfa7442064a012188e966df2d75cf5","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff8fdde5e-6c1c-4b4f-a469-051d6d7d35d1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff8fdde5e-6c1c-4b4f-a469-051d6d7d35d1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"df14c68e-b4e3-462a-86c9-132baec9f850","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433053.407816} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3c970dc7-cdd7-4d51-ae2a-05ea1f21a004","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433053.4081886} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1"}}},"level":"info","message":"received a callback","requestID":"53bfa7442064a012188e966df2d75cf5"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"154814ffda448904f55107550e877604","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"154814ffda448904f55107550e877604","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1"}}},"level":"info","message":"received a callback","requestID":"154814ffda448904f55107550e877604"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"6534c1a0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"6534c1a0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1 204 86ms","method":"DELETE","requestID":"6534c1a0-2989-11f0-8876-6f29f2a860cb","responseTime":86,"status":204,"url":"/peerconnections/f8fdde5e-6c1c-4b4f-a469-051d6d7d35d1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a2fbf017-fbe8-4e16-829e-729392f49365"},"level":"info","message":"Successfully finished experiment","requestID":"acbb911fdd574d7b8c8626d22bbb2c4c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"65442af0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:33Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F243a64e8-c02a-4c1f-b262-af0f0e2c6f98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"04f8d9c6-578b-4c2d-b291-82fbceaa354a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433053.4756982} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.71145,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"65442af0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"65442af0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"65442af0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98/signaling 200 8ms","method":"POST","requestID":"65442af0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98/signaling"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa2fbf017-fbe8-4e16-829e-729392f49365': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa2fbf017-fbe8-4e16-829e-729392f49365","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"93c66a12-1e76-46b3-8d91-50eee0764e75","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433053.4817781} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6545b190-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7103802e-6ee3-4ca7-a74b-b01729f7178e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433053.482022} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"acbb911fdd574d7b8c8626d22bbb2c4c","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:33Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f9a0dd8-275a-4693-9e22-fd93f7ad118d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"245f74ce-f11f-42ac-9229-fc066012f6ce","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433053.485976} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.36789,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6545b190-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6545b190-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6545b190-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d/signaling 200 9ms","method":"POST","requestID":"6545b190-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a2fbf017-fbe8-4e16-829e-729392f49365","requestID":"acbb911fdd574d7b8c8626d22bbb2c4c"} gateway-1 | {"time_local":"05/May/2025:08:17:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a2fbf017-fbe8-4e16-829e-729392f49365 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.182","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"acbb911fdd574d7b8c8626d22bbb2c4c"} experiment-1 | {"level":"info","message":"DELETE /experiments/a2fbf017-fbe8-4e16-829e-729392f49365 204 179ms","method":"DELETE","requestID":"acbb911fdd574d7b8c8626d22bbb2c4c","responseTime":179,"status":204,"url":"/experiments/a2fbf017-fbe8-4e16-829e-729392f49365"} gateway-1 | {"time_local":"05/May/2025:08:17:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2493","request_time":"4.155","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"cb3e5f46066c8142af97b462513ec1cb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"53bfa7442064a012188e966df2d75cf5","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.137","http_referrer":"","http_user_agent":"node-fetch","requestID":"53bfa7442064a012188e966df2d75cf5"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2f9a0dd8-275a-4693-9e22-fd93f7ad118d' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"154814ffda448904f55107550e877604","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch","requestID":"154814ffda448904f55107550e877604"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1M30.Av4hXNRvPUHNB2dm4Qffl_adtCCaUWy-OZxpyIG13UY","level":"info","message":"auth send jwt","requestID":"c4bbd4138ccca543c2ca710062f79c13"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c4bbd4138ccca543c2ca710062f79c13","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c4bbd4138ccca543c2ca710062f79c13"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:33Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.761582,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"c4bbd4138ccca543c2ca710062f79c13","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433053,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1M30.Av4hXNRvPUHNB2dm4Qffl_adtCCaUWy-OZxpyIG13UY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c4bbd4138ccca543c2ca710062f79c13","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"05/May/2025:08:17:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"2.802","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1cf979bbc2f8da2f7933ec85ee16fd30"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/243a64e8-c02a-4c1f-b262-af0f0e2c6f98' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb434dd55-95c0-4ec9-b33c-051ff09beb19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e5ce7f2a-b679-4c72-a84c-2fa3e00d4197","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433053.5877175} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c4bbd4138ccca543c2ca710062f79c13","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"90d5b007-bacf-429a-92cc-036e571719ed","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433053.5922055} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"c4bbd4138ccca543c2ca710062f79c13","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb434dd55-95c0-4ec9-b33c-051ff09beb19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"5326cd6f-461e-4f4e-aa3f-87802f426a6f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433053.6031678} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"be9a93b1-4c91-42db-ba5d-39e5bf60ae10","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433053.603345} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"c4bbd4138ccca543c2ca710062f79c13","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb434dd55-95c0-4ec9-b33c-051ff09beb19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb434dd55-95c0-4ec9-b33c-051ff09beb19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:33.603135324Z"}]},"request_id":"c10104f0-fab1-48ce-bd91-4ebabb43a952","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433053.6071627} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c4bbd4138ccca543c2ca710062f79c13","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c4bbd4138ccca543c2ca710062f79c13"} gateway-1 | {"time_local":"05/May/2025:08:17:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.091","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c4bbd4138ccca543c2ca710062f79c13"} device-1 | {"level":"info","message":"POST /devices? 201 87ms","method":"POST","requestID":"c4bbd4138ccca543c2ca710062f79c13","responseTime":87,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1M30.Av4hXNRvPUHNB2dm4Qffl_adtCCaUWy-OZxpyIG13UY","level":"info","message":"auth send jwt","requestID":"e2faf44fae6dba0a0a86f5b888066f6a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e2faf44fae6dba0a0a86f5b888066f6a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e2faf44fae6dba0a0a86f5b888066f6a"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:33Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.752504,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"e2faf44fae6dba0a0a86f5b888066f6a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433053,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1M30.Av4hXNRvPUHNB2dm4Qffl_adtCCaUWy-OZxpyIG13UY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e2faf44fae6dba0a0a86f5b888066f6a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5be6c944-2fdb-4063-9080-dcb9d9939a67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"02a25f75-d861-4293-96b2-dcbd93833156","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433053.6518128} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e2faf44fae6dba0a0a86f5b888066f6a","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b7ad3411-b1c9-47f3-b2b5-af0897e07739","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433053.6564398} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"e2faf44fae6dba0a0a86f5b888066f6a","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5be6c944-2fdb-4063-9080-dcb9d9939a67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"32c5f04b-88b2-477f-ad54-ad4cbd30248e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433053.6922154} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a40391f-614e-4335-9ae3-5c729c220a24","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433053.6922967} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"e2faf44fae6dba0a0a86f5b888066f6a","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5be6c944-2fdb-4063-9080-dcb9d9939a67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5be6c944-2fdb-4063-9080-dcb9d9939a67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:33.692192587Z"}]},"request_id":"0cd8fccf-f20c-46e2-b500-7393f4fef280","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433053.6954088} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e2faf44fae6dba0a0a86f5b888066f6a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e2faf44fae6dba0a0a86f5b888066f6a"} gateway-1 | {"time_local":"05/May/2025:08:17:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e2faf44fae6dba0a0a86f5b888066f6a"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"e2faf44fae6dba0a0a86f5b888066f6a","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NH0.ISdWfAJ-wg1OKGn8DnV1wjzlsy5t5_6lSqlQNVJ_5xw","level":"info","message":"auth send jwt","requestID":"6ba74f5228c49fa43e235a55f5a55f48"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6ba74f5228c49fa43e235a55f5a55f48","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NH0.ISdWfAJ-wg1OKGn8DnV1wjzlsy5t5_6lSqlQNVJ_5xw","level":"info","message":"auth send jwt","requestID":"cae44a0d4a2f8eb8578e524c406a0c28"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"6ba74f5228c49fa43e235a55f5a55f48"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cae44a0d4a2f8eb8578e524c406a0c28","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"cae44a0d4a2f8eb8578e524c406a0c28"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.643869,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6ba74f5228c49fa43e235a55f5a55f48","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433054,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NH0.ISdWfAJ-wg1OKGn8DnV1wjzlsy5t5_6lSqlQNVJ_5xw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"6ba74f5228c49fa43e235a55f5a55f48","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.690113,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"cae44a0d4a2f8eb8578e524c406a0c28","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433054,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NH0.ISdWfAJ-wg1OKGn8DnV1wjzlsy5t5_6lSqlQNVJ_5xw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"cae44a0d4a2f8eb8578e524c406a0c28","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb434dd55-95c0-4ec9-b33c-051ff09beb19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb434dd55-95c0-4ec9-b33c-051ff09beb19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:33.603135324Z"}]},"request_id":"9266e4df-1e84-4c33-bd45-28df9baf5709","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433054.566818} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6ba74f5228c49fa43e235a55f5a55f48","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5be6c944-2fdb-4063-9080-dcb9d9939a67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5be6c944-2fdb-4063-9080-dcb9d9939a67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:33.692192587Z"}]},"request_id":"9235e3cd-5062-4140-95f9-50c546b78767","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433054.5673826} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cae44a0d4a2f8eb8578e524c406a0c28","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b7b5223-29db-4e92-b969-5816880b3a1d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433054.5953493} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"6ba74f5228c49fa43e235a55f5a55f48","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a9482087-059b-4917-88d5-f8ab9c0d783b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433054.5970075} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"cae44a0d4a2f8eb8578e524c406a0c28","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5be6c944-2fdb-4063-9080-dcb9d9939a67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5be6c944-2fdb-4063-9080-dcb9d9939a67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:33.692192587Z"}]},"request_id":"85f39342-804b-4c02-a69e-e65ee2a9d9cc","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433054.6000307} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cae44a0d4a2f8eb8578e524c406a0c28","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"cae44a0d4a2f8eb8578e524c406a0c28"} gateway-1 | {"time_local":"05/May/2025:08:17:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5be6c944-2fdb-4063-9080-dcb9d9939a67 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"cae44a0d4a2f8eb8578e524c406a0c28"} device-1 | {"level":"info","message":"PATCH /devices/5be6c944-2fdb-4063-9080-dcb9d9939a67 200 42ms","method":"PATCH","requestID":"cae44a0d4a2f8eb8578e524c406a0c28","responseTime":42,"status":200,"url":"/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NH0.ISdWfAJ-wg1OKGn8DnV1wjzlsy5t5_6lSqlQNVJ_5xw","level":"info","message":"auth send jwt","requestID":"48b88f888a03619714154925d40bfa26"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"48b88f888a03619714154925d40bfa26","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"48b88f888a03619714154925d40bfa26"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.649951,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"48b88f888a03619714154925d40bfa26","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433054,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NH0.ISdWfAJ-wg1OKGn8DnV1wjzlsy5t5_6lSqlQNVJ_5xw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"48b88f888a03619714154925d40bfa26","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb434dd55-95c0-4ec9-b33c-051ff09beb19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb434dd55-95c0-4ec9-b33c-051ff09beb19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:33.603135324Z"}]},"request_id":"4a0522ef-40c1-4f7c-96e0-b2d9fcf700c0","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433054.6423044} authorization-1 | {"level":"info","message":"POST /relations/query 200 23ms","method":"POST","requestID":"6ba74f5228c49fa43e235a55f5a55f48","responseTime":23,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"6ba74f5228c49fa43e235a55f5a55f48"} gateway-1 | {"time_local":"05/May/2025:08:17:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b434dd55-95c0-4ec9-b33c-051ff09beb19 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.091","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"6ba74f5228c49fa43e235a55f5a55f48"} device-1 | {"level":"info","message":"PATCH /devices/b434dd55-95c0-4ec9-b33c-051ff09beb19 200 87ms","method":"PATCH","requestID":"6ba74f5228c49fa43e235a55f5a55f48","responseTime":87,"status":200,"url":"/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NH0.ISdWfAJ-wg1OKGn8DnV1wjzlsy5t5_6lSqlQNVJ_5xw","level":"info","message":"auth send jwt","requestID":"6394a2250db4b4c8d58abaecb8a7ea81"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6394a2250db4b4c8d58abaecb8a7ea81","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6394a2250db4b4c8d58abaecb8a7ea81"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.681696,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6394a2250db4b4c8d58abaecb8a7ea81","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433054,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NH0.ISdWfAJ-wg1OKGn8DnV1wjzlsy5t5_6lSqlQNVJ_5xw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"6394a2250db4b4c8d58abaecb8a7ea81","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"48b88f888a03619714154925d40bfa26"} device-1 | {"level":"info","message":"POST /devices/5be6c944-2fdb-4063-9080-dcb9d9939a67/websocket 200 48ms","method":"POST","requestID":"48b88f888a03619714154925d40bfa26","responseTime":48,"status":200,"url":"/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67/websocket"} gateway-1 | {"time_local":"05/May/2025:08:17:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5be6c944-2fdb-4063-9080-dcb9d9939a67/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.052","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"48b88f888a03619714154925d40bfa26"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6394a2250db4b4c8d58abaecb8a7ea81"} gateway-1 | {"time_local":"05/May/2025:08:17:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b434dd55-95c0-4ec9-b33c-051ff09beb19/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"6394a2250db4b4c8d58abaecb8a7ea81"} device-1 | {"level":"info","message":"POST /devices/b434dd55-95c0-4ec9-b33c-051ff09beb19/websocket 200 41ms","method":"POST","requestID":"6394a2250db4b4c8d58abaecb8a7ea81","responseTime":41,"status":200,"url":"/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NH0.ISdWfAJ-wg1OKGn8DnV1wjzlsy5t5_6lSqlQNVJ_5xw","level":"info","message":"auth send jwt","requestID":"7963ea12668144031113da6a7759ba27"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7963ea12668144031113da6a7759ba27","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7963ea12668144031113da6a7759ba27"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.683092,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"7963ea12668144031113da6a7759ba27","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433054,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NH0.ISdWfAJ-wg1OKGn8DnV1wjzlsy5t5_6lSqlQNVJ_5xw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7963ea12668144031113da6a7759ba27","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb434dd55-95c0-4ec9-b33c-051ff09beb19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb434dd55-95c0-4ec9-b33c-051ff09beb19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:33.603135324Z"}]},"request_id":"9bf72580-4ef6-4a54-bd9c-7bc67e7d663c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433054.7044055} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7963ea12668144031113da6a7759ba27","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7963ea12668144031113da6a7759ba27"} gateway-1 | {"time_local":"05/May/2025:08:17:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b434dd55-95c0-4ec9-b33c-051ff09beb19? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7963ea12668144031113da6a7759ba27"} device-1 | {"level":"info","message":"GET /devices/b434dd55-95c0-4ec9-b33c-051ff09beb19? 200 9ms","method":"GET","requestID":"7963ea12668144031113da6a7759ba27","responseTime":9,"status":200,"url":"/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NH0.ISdWfAJ-wg1OKGn8DnV1wjzlsy5t5_6lSqlQNVJ_5xw","level":"info","message":"auth send jwt","requestID":"92d7c5e0af17c8d404d2e659b75050b0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"92d7c5e0af17c8d404d2e659b75050b0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"92d7c5e0af17c8d404d2e659b75050b0"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.702816,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"92d7c5e0af17c8d404d2e659b75050b0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433054,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NH0.ISdWfAJ-wg1OKGn8DnV1wjzlsy5t5_6lSqlQNVJ_5xw"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"92d7c5e0af17c8d404d2e659b75050b0","responseTime":26,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5be6c944-2fdb-4063-9080-dcb9d9939a67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5be6c944-2fdb-4063-9080-dcb9d9939a67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:33.692192587Z"}]},"request_id":"07478e36-a54a-4843-ae5b-9b4cc0c70368","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433054.7412827} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"92d7c5e0af17c8d404d2e659b75050b0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"92d7c5e0af17c8d404d2e659b75050b0"} device-1 | {"level":"info","message":"GET /devices/5be6c944-2fdb-4063-9080-dcb9d9939a67? 200 33ms","method":"GET","requestID":"92d7c5e0af17c8d404d2e659b75050b0","responseTime":33,"status":200,"url":"/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67?"} gateway-1 | {"time_local":"05/May/2025:08:17:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5be6c944-2fdb-4063-9080-dcb9d9939a67? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"92d7c5e0af17c8d404d2e659b75050b0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NH0.ISdWfAJ-wg1OKGn8DnV1wjzlsy5t5_6lSqlQNVJ_5xw","level":"info","message":"auth send jwt","requestID":"271c8f486ae0839d349b6412907d5da8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"271c8f486ae0839d349b6412907d5da8","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"271c8f486ae0839d349b6412907d5da8"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.672485,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"271c8f486ae0839d349b6412907d5da8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433054,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NH0.ISdWfAJ-wg1OKGn8DnV1wjzlsy5t5_6lSqlQNVJ_5xw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"271c8f486ae0839d349b6412907d5da8","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8"},"level":"info","message":"Attempting to run experiment","requestID":"271c8f486ae0839d349b6412907d5da8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8"},"level":"info","message":"Attempting to book experiment","requestID":"271c8f486ae0839d349b6412907d5da8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8"},"level":"info","message":"Successfully booked experiment","requestID":"271c8f486ae0839d349b6412907d5da8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"660fdf60-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"66100670-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.449609,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"660fdf60-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433054,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NH0.ISdWfAJ-wg1OKGn8DnV1wjzlsy5t5_6lSqlQNVJ_5xw"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"660fdf60-2989-11f0-8876-6f29f2a860cb","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.611845,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"66100670-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433054,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NH0.ISdWfAJ-wg1OKGn8DnV1wjzlsy5t5_6lSqlQNVJ_5xw"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"66100670-2989-11f0-8876-6f29f2a860cb","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb434dd55-95c0-4ec9-b33c-051ff09beb19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb434dd55-95c0-4ec9-b33c-051ff09beb19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:33.603135324Z"}]},"request_id":"835b81c4-97d3-41e1-8411-5785b9bc1208","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433054.8372395} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"660fdf60-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5be6c944-2fdb-4063-9080-dcb9d9939a67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5be6c944-2fdb-4063-9080-dcb9d9939a67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:33.692192587Z"}]},"request_id":"4eef33aa-5308-4b5e-a505-f0f51eaa3f2f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433054.8377852} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"66100670-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"660fdf60-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/b434dd55-95c0-4ec9-b33c-051ff09beb19? 200 35ms","method":"GET","requestID":"660fdf60-2989-11f0-8876-6f29f2a860cb","responseTime":35,"status":200,"url":"/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"66100670-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/5be6c944-2fdb-4063-9080-dcb9d9939a67? 200 35ms","method":"GET","requestID":"66100670-2989-11f0-8876-6f29f2a860cb","responseTime":35,"status":200,"url":"/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8"},"level":"info","message":"Setting up experiment","requestID":"271c8f486ae0839d349b6412907d5da8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"271c8f486ae0839d349b6412907d5da8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8"},"level":"info","message":"Successfully locked booking for experiment","requestID":"271c8f486ae0839d349b6412907d5da8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"271c8f486ae0839d349b6412907d5da8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"271c8f486ae0839d349b6412907d5da8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8"},"level":"info","message":"Attempting to update booking for experiment","requestID":"271c8f486ae0839d349b6412907d5da8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8"},"level":"info","message":"Successfully updated booking for experiment","requestID":"271c8f486ae0839d349b6412907d5da8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8"},"level":"info","message":"Successfully set up experiment","requestID":"271c8f486ae0839d349b6412907d5da8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"661e3740-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"661e5e50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"661eac70-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.923188,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:34Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8"},"level":"info","message":"Successfully running experiment","requestID":"271c8f486ae0839d349b6412907d5da8"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"661e3740-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433054,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NH0.ISdWfAJ-wg1OKGn8DnV1wjzlsy5t5_6lSqlQNVJ_5xw"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"661e3740-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698937,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"661e5e50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433054,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NH0.ISdWfAJ-wg1OKGn8DnV1wjzlsy5t5_6lSqlQNVJ_5xw"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"661e5e50-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb434dd55-95c0-4ec9-b33c-051ff09beb19","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2f7df0e4-7db6-4bfe-8cb5-6571f1ee7f69","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433054.9323375} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5be6c944-2fdb-4063-9080-dcb9d9939a67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5be6c944-2fdb-4063-9080-dcb9d9939a67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:33.692192587Z"}]},"request_id":"cbaf7871-f7de-4105-9c59-18cb0d2afe59","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433054.9344232} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.012722,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"661eac70-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"661eac70-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"661e5e50-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb434dd55-95c0-4ec9-b33c-051ff09beb19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb434dd55-95c0-4ec9-b33c-051ff09beb19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:33.603135324Z"}]},"request_id":"ea0f7747-56c9-4c6b-898b-a43ae0c6a2ac","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433054.93544} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"661e3740-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"661eac70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/b434dd55-95c0-4ec9-b33c-051ff09beb19/signaling 200 37ms","method":"POST","requestID":"661eac70-2989-11f0-8876-6f29f2a860cb","responseTime":37,"status":200,"url":"/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"661e5e50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/5be6c944-2fdb-4063-9080-dcb9d9939a67? 200 40ms","method":"GET","requestID":"661e5e50-2989-11f0-8876-6f29f2a860cb","responseTime":40,"status":200,"url":"/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"661e3740-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/b434dd55-95c0-4ec9-b33c-051ff09beb19? 200 41ms","method":"GET","requestID":"661e3740-2989-11f0-8876-6f29f2a860cb","responseTime":41,"status":200,"url":"/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"66249fe0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6624c6f0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.338822,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5be6c944-2fdb-4063-9080-dcb9d9939a67","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9ea0d208-d85d-4af8-9e74-3e753f82bd6b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433054.946056} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb434dd55-95c0-4ec9-b33c-051ff09beb19","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e5f3c73-9c53-4736-827e-2af1b65be4b5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433054.9468057} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"66249fe0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"66249fe0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F89940ff9-f3fb-444b-bd0e-8c23ac3437f8#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F89940ff9-f3fb-444b-bd0e-8c23ac3437f8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"d16462d9-c58b-4991-a868-05647f96150e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433054.9470296} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"44305cdc-c3ee-450e-86aa-3d868fd620c6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433054.9473453} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.147531,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6624c6f0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6624c6f0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"271c8f486ae0839d349b6412907d5da8","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"66249fe0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/5be6c944-2fdb-4063-9080-dcb9d9939a67/signaling 200 9ms","method":"POST","requestID":"66249fe0-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6624c6f0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/b434dd55-95c0-4ec9-b33c-051ff09beb19/signaling 200 10ms","method":"POST","requestID":"6624c6f0-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"66269bb0-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"271c8f486ae0839d349b6412907d5da8"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:34Z"} gateway-1 | {"time_local":"05/May/2025:08:17:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.237","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"271c8f486ae0839d349b6412907d5da8"} experiment-1 | {"level":"info","message":"POST /experiments? 201 234ms","method":"POST","requestID":"271c8f486ae0839d349b6412907d5da8","responseTime":234,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5be6c944-2fdb-4063-9080-dcb9d9939a67","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02910545-7827-4aec-806f-1cf7e95fb1fb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433054.9836075} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.497519,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"66269bb0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"66269bb0-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NH0.ISdWfAJ-wg1OKGn8DnV1wjzlsy5t5_6lSqlQNVJ_5xw","level":"info","message":"auth send jwt","requestID":"0e0fec409248f7638472bdde23d05f4e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0e0fec409248f7638472bdde23d05f4e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0e0fec409248f7638472bdde23d05f4e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"66269bb0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/5be6c944-2fdb-4063-9080-dcb9d9939a67/signaling 200 34ms","method":"POST","requestID":"66269bb0-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67/signaling"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:34Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"271c8f486ae0839d349b6412907d5da8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8"},"level":"info","message":"Building connection plan","requestID":"271c8f486ae0839d349b6412907d5da8"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"96596ee5-7eb9-4a52-83d8-99dd04b5303f"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"910db21b-02ec-4355-a309-b69588b63a90"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"0b7bab13-cb7a-4c4b-99c9-c1bc0ee1e998"}]},"level":"info","message":"Built pairwise service configurations","requestID":"271c8f486ae0839d349b6412907d5da8"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"271c8f486ae0839d349b6412907d5da8"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.130867,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"0e0fec409248f7638472bdde23d05f4e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433054,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NH0.ISdWfAJ-wg1OKGn8DnV1wjzlsy5t5_6lSqlQNVJ_5xw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0e0fec409248f7638472bdde23d05f4e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"662c6810-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.604714,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"662c6810-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433054,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NH0.ISdWfAJ-wg1OKGn8DnV1wjzlsy5t5_6lSqlQNVJ_5xw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"662c6810-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb434dd55-95c0-4ec9-b33c-051ff09beb19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb434dd55-95c0-4ec9-b33c-051ff09beb19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:33.603135324Z"}]},"request_id":"9bee361f-3d75-4cbf-a2f3-7814654956d4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433054.9966774} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0e0fec409248f7638472bdde23d05f4e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0e0fec409248f7638472bdde23d05f4e"} gateway-1 | {"time_local":"05/May/2025:08:17:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b434dd55-95c0-4ec9-b33c-051ff09beb19? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e0fec409248f7638472bdde23d05f4e"} device-1 | {"level":"info","message":"GET /devices/b434dd55-95c0-4ec9-b33c-051ff09beb19? 200 38ms","method":"GET","requestID":"0e0fec409248f7638472bdde23d05f4e","responseTime":38,"status":200,"url":"/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NX0.pRK_JECM6BwAFolBhCTwSUgm9Mzqbl5uKApAWt0Ty8w","level":"info","message":"auth send jwt","requestID":"b1abc235265ab930c6e2524244502231"} authentication-1 | {"level":"info","message":"GET /auth 200 24ms","method":"GET","requestID":"b1abc235265ab930c6e2524244502231","responseTime":24,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b1abc235265ab930c6e2524244502231"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:35Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.690811,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"b1abc235265ab930c6e2524244502231","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433055,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1NX0.pRK_JECM6BwAFolBhCTwSUgm9Mzqbl5uKApAWt0Ty8w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b1abc235265ab930c6e2524244502231","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"bc78dcbd-965d-4e84-8aea-89d49ca70a43","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433055.030961} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"396438ce-eca4-4048-bf7f-024ada633031","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433055.0311267} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"662c6810-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5be6c944-2fdb-4063-9080-dcb9d9939a67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5be6c944-2fdb-4063-9080-dcb9d9939a67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:33.692192587Z"}]},"request_id":"396cad4c-bdcb-4d66-b11d-87e2cc68e6b7","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433055.0344532} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b1abc235265ab930c6e2524244502231","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"662c6810-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"662c6810-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c3cf884b-ecb6-43e6-ab9f-104ae35e69f6'","requestID":"662c6810-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c3cf884b-ecb6-43e6-ab9f-104ae35e69f6'","requestID":"662c6810-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"662c6810-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 89ms","method":"POST","requestID":"662c6810-2989-11f0-8876-6f29f2a860cb","responseTime":89,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b1abc235265ab930c6e2524244502231"} device-1 | {"level":"info","message":"GET /devices/5be6c944-2fdb-4063-9080-dcb9d9939a67? 200 55ms","method":"GET","requestID":"b1abc235265ab930c6e2524244502231","responseTime":55,"status":200,"url":"/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67?"} gateway-1 | {"time_local":"05/May/2025:08:17:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5be6c944-2fdb-4063-9080-dcb9d9939a67? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.081","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b1abc235265ab930c6e2524244502231"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"662c6810-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"271c8f486ae0839d349b6412907d5da8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6640da70-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:35Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb434dd55-95c0-4ec9-b33c-051ff09beb19","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2b717a76-3fbd-45d6-8912-a6170da70921","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433055.132008} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.246324,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6640da70-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6640da70-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6640da70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/b434dd55-95c0-4ec9-b33c-051ff09beb19/signaling 200 8ms","method":"POST","requestID":"6640da70-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"66426110-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:35Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5be6c944-2fdb-4063-9080-dcb9d9939a67","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"69a742d5-5e4b-41be-98e6-02174135fe0b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433055.1416078} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.357155,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"66426110-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"66426110-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"66426110-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/5be6c944-2fdb-4063-9080-dcb9d9939a67/signaling 200 8ms","method":"POST","requestID":"66426110-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67/signaling"} device-1 | {"device":"5be6c944-2fdb-4063-9080-dcb9d9939a67","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"c3cf884b-ecb6-43e6-ab9f-104ae35e69f6","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b434dd55-95c0-4ec9-b33c-051ff09beb19","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"c3cf884b-ecb6-43e6-ab9f-104ae35e69f6","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b434dd55-95c0-4ec9-b33c-051ff09beb19","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b434dd55-95c0-4ec9-b33c-051ff09beb19","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b434dd55-95c0-4ec9-b33c-051ff09beb19","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b434dd55-95c0-4ec9-b33c-051ff09beb19","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c3cf884b-ecb6-43e6-ab9f-104ae35e69f6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c3cf884b-ecb6-43e6-ab9f-104ae35e69f6","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f05d53d076724a829f80fcbf3fc46a91","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f05d53d076724a829f80fcbf3fc46a91","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c3cf884b-ecb6-43e6-ab9f-104ae35e69f6"}}},"level":"info","message":"received a callback","requestID":"f05d53d076724a829f80fcbf3fc46a91"} device-1 | {"device":"5be6c944-2fdb-4063-9080-dcb9d9939a67","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5be6c944-2fdb-4063-9080-dcb9d9939a67","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5be6c944-2fdb-4063-9080-dcb9d9939a67","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"f05d53d076724a829f80fcbf3fc46a91","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"f05d53d076724a829f80fcbf3fc46a91"} device-1 | {"device":"b434dd55-95c0-4ec9-b33c-051ff09beb19","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"c3cf884b-ecb6-43e6-ab9f-104ae35e69f6","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5be6c944-2fdb-4063-9080-dcb9d9939a67","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b434dd55-95c0-4ec9-b33c-051ff09beb19","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5be6c944-2fdb-4063-9080-dcb9d9939a67","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"c3cf884b-ecb6-43e6-ab9f-104ae35e69f6","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c3cf884b-ecb6-43e6-ab9f-104ae35e69f6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c3cf884b-ecb6-43e6-ab9f-104ae35e69f6","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"68cc70ad6ae823c45c7440700b6e4cf3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"68cc70ad6ae823c45c7440700b6e4cf3","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c3cf884b-ecb6-43e6-ab9f-104ae35e69f6"}}},"level":"info","message":"received a callback","requestID":"68cc70ad6ae823c45c7440700b6e4cf3"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"677a44d0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:37Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc3cf884b-ecb6-43e6-ab9f-104ae35e69f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1fee01d3-3991-4b03-851b-55de0ee41d3b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433057.1853266} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.20061,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c3cf884b-ecb6-43e6-ab9f-104ae35e69f6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"677a44d0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c3cf884b-ecb6-43e6-ab9f-104ae35e69f6","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"677a44d0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"677a44d0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/c3cf884b-ecb6-43e6-ab9f-104ae35e69f6 200 7ms","method":"GET","requestID":"677a44d0-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/peerconnections/c3cf884b-ecb6-43e6-ab9f-104ae35e69f6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 58ms","method":"POST","requestID":"68cc70ad6ae823c45c7440700b6e4cf3","responseTime":58,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch","requestID":"68cc70ad6ae823c45c7440700b6e4cf3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6782a940-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:37Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb434dd55-95c0-4ec9-b33c-051ff09beb19","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4b22d13d-a6ed-4b71-81b1-dfba8a8784e8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433057.2414136} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.10127,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6782a940-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"6782a940-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6782a940-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/b434dd55-95c0-4ec9-b33c-051ff09beb19/signaling 200 9ms","method":"POST","requestID":"6782a940-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"678456f0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:37Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5be6c944-2fdb-4063-9080-dcb9d9939a67","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bdb25703-457b-4570-8446-491b179ac24f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433057.2521517} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.158952,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"678456f0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"678456f0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"678456f0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/5be6c944-2fdb-4063-9080-dcb9d9939a67/signaling 200 9ms","method":"POST","requestID":"678456f0-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1N30.5b7K-GoPgVCgBPrIhB9J2JYLGg4jHbuFxHMPcyTh02s","level":"info","message":"auth send jwt","requestID":"5c3ccb429d70055eee939b45ed6cd01e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5c3ccb429d70055eee939b45ed6cd01e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8","requestID":"5c3ccb429d70055eee939b45ed6cd01e"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:37Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.75285,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5c3ccb429d70055eee939b45ed6cd01e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433057,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1N30.5b7K-GoPgVCgBPrIhB9J2JYLGg4jHbuFxHMPcyTh02s"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"5c3ccb429d70055eee939b45ed6cd01e","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8","requestID":"5c3ccb429d70055eee939b45ed6cd01e"} experiment-1 | {"level":"info","message":"GET /experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8 200 9ms","method":"GET","requestID":"5c3ccb429d70055eee939b45ed6cd01e","responseTime":9,"status":200,"url":"/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8"} gateway-1 | {"time_local":"05/May/2025:08:17:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5c3ccb429d70055eee939b45ed6cd01e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1N30.5b7K-GoPgVCgBPrIhB9J2JYLGg4jHbuFxHMPcyTh02s","level":"info","message":"auth send jwt","requestID":"e5197e5d09671e664265d6a53ae65858"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e5197e5d09671e664265d6a53ae65858","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8","requestID":"e5197e5d09671e664265d6a53ae65858"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:37Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.722464,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"e5197e5d09671e664265d6a53ae65858","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433057,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1N30.5b7K-GoPgVCgBPrIhB9J2JYLGg4jHbuFxHMPcyTh02s"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e5197e5d09671e664265d6a53ae65858","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8"},"level":"info","message":"Attempting to finish experiment","requestID":"e5197e5d09671e664265d6a53ae65858"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"67910120-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:37Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.780226,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c3cf884b-ecb6-43e6-ab9f-104ae35e69f6","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"67910120-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/c3cf884b-ecb6-43e6-ab9f-104ae35e69f6","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433057,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1N30.5b7K-GoPgVCgBPrIhB9J2JYLGg4jHbuFxHMPcyTh02s"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"67910120-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"device":"b434dd55-95c0-4ec9-b33c-051ff09beb19","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b434dd55-95c0-4ec9-b33c-051ff09beb19","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b434dd55-95c0-4ec9-b33c-051ff09beb19","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5be6c944-2fdb-4063-9080-dcb9d9939a67","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5be6c944-2fdb-4063-9080-dcb9d9939a67","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5be6c944-2fdb-4063-9080-dcb9d9939a67","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c3cf884b-ecb6-43e6-ab9f-104ae35e69f6' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c3cf884b-ecb6-43e6-ab9f-104ae35e69f6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c3cf884b-ecb6-43e6-ab9f-104ae35e69f6","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc3cf884b-ecb6-43e6-ab9f-104ae35e69f6': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc3cf884b-ecb6-43e6-ab9f-104ae35e69f6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"cf18bf9f-a7da-44e0-9d03-a1ee4399bf18","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433057.3425121} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a4efd55a-14d4-4e53-9edc-bcecd97a5873","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433057.3426511} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"876707a2253c70d50edb809d653705e7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"876707a2253c70d50edb809d653705e7","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"67910120-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"adc8df8f098ca25f6dfa307853bc2f14","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c3cf884b-ecb6-43e6-ab9f-104ae35e69f6"}}},"level":"info","message":"received a callback","requestID":"876707a2253c70d50edb809d653705e7"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"adc8df8f098ca25f6dfa307853bc2f14","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c3cf884b-ecb6-43e6-ab9f-104ae35e69f6"}}},"level":"info","message":"received a callback","requestID":"adc8df8f098ca25f6dfa307853bc2f14"} device-1 | {"data":{"peerconnection":"c3cf884b-ecb6-43e6-ab9f-104ae35e69f6","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"67910120-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/c3cf884b-ecb6-43e6-ab9f-104ae35e69f6 204 64ms","method":"DELETE","requestID":"67910120-2989-11f0-8876-6f29f2a860cb","responseTime":64,"status":204,"url":"/peerconnections/c3cf884b-ecb6-43e6-ab9f-104ae35e69f6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8"},"level":"info","message":"Successfully finished experiment","requestID":"e5197e5d09671e664265d6a53ae65858"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"679ce800-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:37Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb434dd55-95c0-4ec9-b33c-051ff09beb19","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"45eacdb1-2c80-4c1a-80ba-a128c36cfa8b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433057.4138145} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.052949,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"679ce800-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"679ce800-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F89940ff9-f3fb-444b-bd0e-8c23ac3437f8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F89940ff9-f3fb-444b-bd0e-8c23ac3437f8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"afa0ece1-248b-4e8e-8361-9ecd08354b13","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433057.417613} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"197e8b0f-a0b1-4bbd-aa79-33539bd34833","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433057.4179075} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"e5197e5d09671e664265d6a53ae65858","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"679ce800-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/b434dd55-95c0-4ec9-b33c-051ff09beb19/signaling 200 14ms","method":"POST","requestID":"679ce800-2989-11f0-8876-6f29f2a860cb","responseTime":14,"status":200,"url":"/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"679f31f0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:37Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5be6c944-2fdb-4063-9080-dcb9d9939a67","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"59be0f1a-be27-4c3d-820b-58a9058de89b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433057.4272752} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.15747,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"679f31f0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"679f31f0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"679f31f0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/5be6c944-2fdb-4063-9080-dcb9d9939a67/signaling 200 8ms","method":"POST","requestID":"679f31f0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8","requestID":"e5197e5d09671e664265d6a53ae65858"} gateway-1 | {"time_local":"05/May/2025:08:17:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e5197e5d09671e664265d6a53ae65858"} experiment-1 | {"level":"info","message":"DELETE /experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8 204 171ms","method":"DELETE","requestID":"e5197e5d09671e664265d6a53ae65858","responseTime":171,"status":204,"url":"/experiments/89940ff9-f3fb-444b-bd0e-8c23ac3437f8"} gateway-1 | {"time_local":"05/May/2025:08:17:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2751","request_time":"2.776","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"4dbaed3502fd5d286589be5793d7819a"} gateway-1 | {"time_local":"05/May/2025:08:17:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"2.811","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"a1314d51d963770f797382a5da46e70c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 125ms","method":"POST","requestID":"876707a2253c70d50edb809d653705e7","responseTime":125,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.128","http_referrer":"","http_user_agent":"node-fetch","requestID":"876707a2253c70d50edb809d653705e7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 125ms","method":"POST","requestID":"adc8df8f098ca25f6dfa307853bc2f14","responseTime":125,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b434dd55-95c0-4ec9-b33c-051ff09beb19' closed"} gateway-1 | {"time_local":"05/May/2025:08:17:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.129","http_referrer":"","http_user_agent":"node-fetch","requestID":"adc8df8f098ca25f6dfa307853bc2f14"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1N30.5b7K-GoPgVCgBPrIhB9J2JYLGg4jHbuFxHMPcyTh02s","level":"info","message":"auth send jwt","requestID":"7a36f1a1d964e1a4519ebc1a637e6118"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5be6c944-2fdb-4063-9080-dcb9d9939a67' closed"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7a36f1a1d964e1a4519ebc1a637e6118","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7a36f1a1d964e1a4519ebc1a637e6118"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:37Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.87433,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"7a36f1a1d964e1a4519ebc1a637e6118","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433057,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1N30.5b7K-GoPgVCgBPrIhB9J2JYLGg4jHbuFxHMPcyTh02s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7a36f1a1d964e1a4519ebc1a637e6118","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F834a9630-174a-43b4-bc9b-362ceb5aef9b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"73f3da52-2fa3-47d9-85fe-c49404953356","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433057.495543} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7a36f1a1d964e1a4519ebc1a637e6118","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7a36f1a1d964e1a4519ebc1a637e6118"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ef38a35-672f-4ae5-b6b1-29ac8bd670ea","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433057.5012379} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"7a36f1a1d964e1a4519ebc1a637e6118","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1fdff88c-fd14-41ab-b9fc-05ec41b410b1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433057.516657} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F834a9630-174a-43b4-bc9b-362ceb5aef9b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"49dd09f1-6651-43e1-bd31-bf9b44ab2bec","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433057.5173795} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"7a36f1a1d964e1a4519ebc1a637e6118","responseTime":21,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F834a9630-174a-43b4-bc9b-362ceb5aef9b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F834a9630-174a-43b4-bc9b-362ceb5aef9b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:37.517356389Z"}]},"request_id":"1b0aaeb0-0519-42c2-847b-ad1d83b0feeb","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433057.5229938} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7a36f1a1d964e1a4519ebc1a637e6118","responseTime":2,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"05/May/2025:08:17:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7a36f1a1d964e1a4519ebc1a637e6118"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"7a36f1a1d964e1a4519ebc1a637e6118","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1N30.5b7K-GoPgVCgBPrIhB9J2JYLGg4jHbuFxHMPcyTh02s","level":"info","message":"auth send jwt","requestID":"3fd47cb73eb373acbce3074b45e14f0d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3fd47cb73eb373acbce3074b45e14f0d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"3fd47cb73eb373acbce3074b45e14f0d"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:37Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.74397,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"3fd47cb73eb373acbce3074b45e14f0d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433057,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1N30.5b7K-GoPgVCgBPrIhB9J2JYLGg4jHbuFxHMPcyTh02s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3fd47cb73eb373acbce3074b45e14f0d","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F957fbd40-d0aa-4832-a364-c1237e968b43","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"88b15c18-fbcc-4a8f-a604-aa81c012b1e8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433057.5448642} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3fd47cb73eb373acbce3074b45e14f0d","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a42e8a4e-0b06-4879-9e60-2bb81b44cf05","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433057.5698717} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"3fd47cb73eb373acbce3074b45e14f0d","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F957fbd40-d0aa-4832-a364-c1237e968b43","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"0993681b-377e-4f79-98f6-2e753e515a52","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433057.5828218} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f8f8283-ce68-4dac-aea1-bb512ce9b423","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433057.5830338} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"3fd47cb73eb373acbce3074b45e14f0d","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F957fbd40-d0aa-4832-a364-c1237e968b43","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F957fbd40-d0aa-4832-a364-c1237e968b43","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:37.582791985Z"}]},"request_id":"fbdda58c-f61a-4638-82e3-9b076e1a302b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433057.5873919} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3fd47cb73eb373acbce3074b45e14f0d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3fd47cb73eb373acbce3074b45e14f0d"} device-1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"3fd47cb73eb373acbce3074b45e14f0d","responseTime":60,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"05/May/2025:08:17:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3fd47cb73eb373acbce3074b45e14f0d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws","level":"info","message":"auth send jwt","requestID":"8a411d742a12a58a574ff43ae08c6fd5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8a411d742a12a58a574ff43ae08c6fd5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"8a411d742a12a58a574ff43ae08c6fd5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws","level":"info","message":"auth send jwt","requestID":"7958ed087738b0856a748e83cb27de01"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7958ed087738b0856a748e83cb27de01","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:38Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"7958ed087738b0856a748e83cb27de01"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.694791,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"8a411d742a12a58a574ff43ae08c6fd5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433058,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8a411d742a12a58a574ff43ae08c6fd5","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.660351,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"7958ed087738b0856a748e83cb27de01","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433058,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7958ed087738b0856a748e83cb27de01","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F957fbd40-d0aa-4832-a364-c1237e968b43","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F957fbd40-d0aa-4832-a364-c1237e968b43","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:37.582791985Z"}]},"request_id":"7734e916-1a45-49a3-8cd1-b079b3418fad","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.5306182} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"8a411d742a12a58a574ff43ae08c6fd5","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F834a9630-174a-43b4-bc9b-362ceb5aef9b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F834a9630-174a-43b4-bc9b-362ceb5aef9b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:37.517356389Z"}]},"request_id":"07aad51e-e2c2-4d9e-a52e-99d2acd48844","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.5324183} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"7958ed087738b0856a748e83cb27de01","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a9df44d-9d9a-44a8-9c13-c58925c57d1c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.5374513} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"8a411d742a12a58a574ff43ae08c6fd5","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6b4894e4-2158-480e-ad56-0e1d64a44b77","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.5385754} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"7958ed087738b0856a748e83cb27de01","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F834a9630-174a-43b4-bc9b-362ceb5aef9b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F834a9630-174a-43b4-bc9b-362ceb5aef9b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:37.517356389Z"}]},"request_id":"0585121a-7c04-41e7-b4ac-21824ea337e5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.562396} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"7958ed087738b0856a748e83cb27de01","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F957fbd40-d0aa-4832-a364-c1237e968b43","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F957fbd40-d0aa-4832-a364-c1237e968b43","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:37.582791985Z"}]},"request_id":"824aff90-a6ee-4892-b583-18a5f95cad36","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.5634918} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"7958ed087738b0856a748e83cb27de01"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8a411d742a12a58a574ff43ae08c6fd5","responseTime":2,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"05/May/2025:08:17:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/834a9630-174a-43b4-bc9b-362ceb5aef9b HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.069","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"7958ed087738b0856a748e83cb27de01"} device-1 | {"level":"info","message":"PATCH /devices/834a9630-174a-43b4-bc9b-362ceb5aef9b 200 66ms","method":"PATCH","requestID":"7958ed087738b0856a748e83cb27de01","responseTime":66,"status":200,"url":"/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"8a411d742a12a58a574ff43ae08c6fd5"} gateway-1 | {"time_local":"05/May/2025:08:17:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/957fbd40-d0aa-4832-a364-c1237e968b43 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.073","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"8a411d742a12a58a574ff43ae08c6fd5"} device-1 | {"level":"info","message":"PATCH /devices/957fbd40-d0aa-4832-a364-c1237e968b43 200 69ms","method":"PATCH","requestID":"8a411d742a12a58a574ff43ae08c6fd5","responseTime":69,"status":200,"url":"/devices/957fbd40-d0aa-4832-a364-c1237e968b43"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws","level":"info","message":"auth send jwt","requestID":"e2ab788a9fee5caf2c7582b9164052da"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e2ab788a9fee5caf2c7582b9164052da","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e2ab788a9fee5caf2c7582b9164052da"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws","level":"info","message":"auth send jwt","requestID":"8202339b26b0234df37c19d05e5a3025"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8202339b26b0234df37c19d05e5a3025","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8202339b26b0234df37c19d05e5a3025"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.626773,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"e2ab788a9fee5caf2c7582b9164052da","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433058,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e2ab788a9fee5caf2c7582b9164052da","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.859625,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"8202339b26b0234df37c19d05e5a3025","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433058,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8202339b26b0234df37c19d05e5a3025","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e2ab788a9fee5caf2c7582b9164052da"} gateway-1 | {"time_local":"05/May/2025:08:17:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/834a9630-174a-43b4-bc9b-362ceb5aef9b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"e2ab788a9fee5caf2c7582b9164052da"} device-1 | {"level":"info","message":"POST /devices/834a9630-174a-43b4-bc9b-362ceb5aef9b/websocket 200 18ms","method":"POST","requestID":"e2ab788a9fee5caf2c7582b9164052da","responseTime":18,"status":200,"url":"/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8202339b26b0234df37c19d05e5a3025"} device-1 | {"level":"info","message":"POST /devices/957fbd40-d0aa-4832-a364-c1237e968b43/websocket 200 23ms","method":"POST","requestID":"8202339b26b0234df37c19d05e5a3025","responseTime":23,"status":200,"url":"/devices/957fbd40-d0aa-4832-a364-c1237e968b43/websocket"} gateway-1 | {"time_local":"05/May/2025:08:17:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/957fbd40-d0aa-4832-a364-c1237e968b43/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"8202339b26b0234df37c19d05e5a3025"} device-1 | {"level":"info","message":"device 'http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws","level":"info","message":"auth send jwt","requestID":"8afafb57383f9ebc99213180a958d1dd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8afafb57383f9ebc99213180a958d1dd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8afafb57383f9ebc99213180a958d1dd"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.6771,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"8afafb57383f9ebc99213180a958d1dd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433058,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8afafb57383f9ebc99213180a958d1dd","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F834a9630-174a-43b4-bc9b-362ceb5aef9b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F834a9630-174a-43b4-bc9b-362ceb5aef9b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:37.517356389Z"}]},"request_id":"8f270253-cfb1-41c3-bb9a-fdd7a3c9d588","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.6114533} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8afafb57383f9ebc99213180a958d1dd","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8afafb57383f9ebc99213180a958d1dd"} device-1 | {"level":"info","message":"GET /devices/834a9630-174a-43b4-bc9b-362ceb5aef9b? 200 10ms","method":"GET","requestID":"8afafb57383f9ebc99213180a958d1dd","responseTime":10,"status":200,"url":"/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b?"} gateway-1 | {"time_local":"05/May/2025:08:17:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/834a9630-174a-43b4-bc9b-362ceb5aef9b? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8afafb57383f9ebc99213180a958d1dd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws","level":"info","message":"auth send jwt","requestID":"d061a9996eba24206fe49a976e8d04d5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d061a9996eba24206fe49a976e8d04d5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d061a9996eba24206fe49a976e8d04d5"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.659174,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"d061a9996eba24206fe49a976e8d04d5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433058,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d061a9996eba24206fe49a976e8d04d5","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F957fbd40-d0aa-4832-a364-c1237e968b43","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F957fbd40-d0aa-4832-a364-c1237e968b43","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:37.582791985Z"}]},"request_id":"8f184b14-da5a-45c3-83cd-474771139151","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.624706} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d061a9996eba24206fe49a976e8d04d5","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d061a9996eba24206fe49a976e8d04d5"} gateway-1 | {"time_local":"05/May/2025:08:17:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/957fbd40-d0aa-4832-a364-c1237e968b43? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d061a9996eba24206fe49a976e8d04d5"} device-1 | {"level":"info","message":"GET /devices/957fbd40-d0aa-4832-a364-c1237e968b43? 200 9ms","method":"GET","requestID":"d061a9996eba24206fe49a976e8d04d5","responseTime":9,"status":200,"url":"/devices/957fbd40-d0aa-4832-a364-c1237e968b43?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws","level":"info","message":"auth send jwt","requestID":"d6766796f2ca22b04a2394a68529c64e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d6766796f2ca22b04a2394a68529c64e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"d6766796f2ca22b04a2394a68529c64e"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.809385,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"d6766796f2ca22b04a2394a68529c64e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433058,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d6766796f2ca22b04a2394a68529c64e","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9f69637c-b188-48b5-b23c-bac5b5855144"},"level":"info","message":"Attempting to run experiment","requestID":"d6766796f2ca22b04a2394a68529c64e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9f69637c-b188-48b5-b23c-bac5b5855144"},"level":"info","message":"Attempting to book experiment","requestID":"d6766796f2ca22b04a2394a68529c64e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9f69637c-b188-48b5-b23c-bac5b5855144"},"level":"info","message":"Successfully booked experiment","requestID":"d6766796f2ca22b04a2394a68529c64e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6860ad30-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6860d440-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.755775,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6860ad30-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433058,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6860ad30-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.667498,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6860d440-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433058,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6860d440-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F834a9630-174a-43b4-bc9b-362ceb5aef9b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F834a9630-174a-43b4-bc9b-362ceb5aef9b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:37.517356389Z"}]},"request_id":"fc0d5923-f9c8-49ba-aad0-d8002f85ca73","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.7218356} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"6860ad30-2989-11f0-8876-6f29f2a860cb","responseTime":26,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F957fbd40-d0aa-4832-a364-c1237e968b43","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F957fbd40-d0aa-4832-a364-c1237e968b43","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:37.582791985Z"}]},"request_id":"962c7924-8622-472d-bbe6-7ffff5ae7648","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.7223735} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6860d440-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6860ad30-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/834a9630-174a-43b4-bc9b-362ceb5aef9b? 200 34ms","method":"GET","requestID":"6860ad30-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6860d440-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/957fbd40-d0aa-4832-a364-c1237e968b43? 200 34ms","method":"GET","requestID":"6860d440-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/devices/957fbd40-d0aa-4832-a364-c1237e968b43?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9f69637c-b188-48b5-b23c-bac5b5855144"},"level":"info","message":"Setting up experiment","requestID":"d6766796f2ca22b04a2394a68529c64e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9f69637c-b188-48b5-b23c-bac5b5855144"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"d6766796f2ca22b04a2394a68529c64e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9f69637c-b188-48b5-b23c-bac5b5855144"},"level":"info","message":"Successfully locked booking for experiment","requestID":"d6766796f2ca22b04a2394a68529c64e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9f69637c-b188-48b5-b23c-bac5b5855144"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"d6766796f2ca22b04a2394a68529c64e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9f69637c-b188-48b5-b23c-bac5b5855144"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"d6766796f2ca22b04a2394a68529c64e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9f69637c-b188-48b5-b23c-bac5b5855144"},"level":"info","message":"Attempting to update booking for experiment","requestID":"d6766796f2ca22b04a2394a68529c64e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9f69637c-b188-48b5-b23c-bac5b5855144"},"level":"info","message":"Successfully updated booking for experiment","requestID":"d6766796f2ca22b04a2394a68529c64e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9f69637c-b188-48b5-b23c-bac5b5855144"},"level":"info","message":"Successfully set up experiment","requestID":"d6766796f2ca22b04a2394a68529c64e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"686ede00-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"686f0510-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"686f2c20-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:38Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9f69637c-b188-48b5-b23c-bac5b5855144"},"level":"info","message":"Successfully running experiment","requestID":"d6766796f2ca22b04a2394a68529c64e"} authorization-1 | {"client_addr":"127.0.0.1:35428","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.1291,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"686ede00-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433058,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"686ede00-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.661648,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"686f0510-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433058,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"686f0510-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F834a9630-174a-43b4-bc9b-362ceb5aef9b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F834a9630-174a-43b4-bc9b-362ceb5aef9b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:37.517356389Z"}]},"request_id":"429dfce8-0cd3-497f-bb6d-e7243eb5f3ec","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.8185134} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F957fbd40-d0aa-4832-a364-c1237e968b43","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F957fbd40-d0aa-4832-a364-c1237e968b43","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:37.582791985Z"}]},"request_id":"841df5ef-5757-432d-afec-72f3c7573510","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.8191729} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"686ede00-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"686f0510-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F834a9630-174a-43b4-bc9b-362ceb5aef9b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a90d6d90-83a3-4cbf-bf26-6e8490bdcedc","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.821172} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.646997,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"686f2c20-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"686f2c20-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"686ede00-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/834a9630-174a-43b4-bc9b-362ceb5aef9b? 200 40ms","method":"GET","requestID":"686ede00-2989-11f0-8876-6f29f2a860cb","responseTime":40,"status":200,"url":"/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"686f0510-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/957fbd40-d0aa-4832-a364-c1237e968b43? 200 39ms","method":"GET","requestID":"686f0510-2989-11f0-8876-6f29f2a860cb","responseTime":39,"status":200,"url":"/devices/957fbd40-d0aa-4832-a364-c1237e968b43?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"686f2c20-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/834a9630-174a-43b4-bc9b-362ceb5aef9b/signaling 200 40ms","method":"POST","requestID":"686f2c20-2989-11f0-8876-6f29f2a860cb","responseTime":40,"status":200,"url":"/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"687546a0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"687594c0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F834a9630-174a-43b4-bc9b-362ceb5aef9b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2915fd3b-adb6-455c-b7c7-d479dcddffba","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.8306549} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.279522,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"687546a0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"687546a0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F957fbd40-d0aa-4832-a364-c1237e968b43","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"09a62455-9aa8-4614-ac9f-52bf6b297cca","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.8315866} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.096567,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:38Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"687546a0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"687594c0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"POST /devices/834a9630-174a-43b4-bc9b-362ceb5aef9b/signaling 200 9ms","method":"POST","requestID":"687546a0-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"687594c0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9f69637c-b188-48b5-b23c-bac5b5855144#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9f69637c-b188-48b5-b23c-bac5b5855144","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"b7bf91cc-479e-43e0-8fa2-1d6484aa3d92","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.834352} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bceaafcb-395d-478a-bfaa-a31255ce0ee2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.83467} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","method":"POST","requestID":"d6766796f2ca22b04a2394a68529c64e","responseTime":45,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6876f450-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"687594c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/957fbd40-d0aa-4832-a364-c1237e968b43/signaling 200 10ms","method":"POST","requestID":"687594c0-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/957fbd40-d0aa-4832-a364-c1237e968b43/signaling"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F957fbd40-d0aa-4832-a364-c1237e968b43","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3378acaa-2811-4c45-9683-40d68d1967d1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.8655977} experiment-1 | {"data":{"experiment":"http://localhost/experiments/9f69637c-b188-48b5-b23c-bac5b5855144","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"d6766796f2ca22b04a2394a68529c64e"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.623232,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:38Z"} gateway-1 | {"time_local":"05/May/2025:08:17:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.238","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d6766796f2ca22b04a2394a68529c64e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 234ms","method":"POST","requestID":"d6766796f2ca22b04a2394a68529c64e","responseTime":234,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6876f450-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"6876f450-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6876f450-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/957fbd40-d0aa-4832-a364-c1237e968b43/signaling 200 32ms","method":"POST","requestID":"6876f450-2989-11f0-8876-6f29f2a860cb","responseTime":32,"status":200,"url":"/devices/957fbd40-d0aa-4832-a364-c1237e968b43/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws","level":"info","message":"auth send jwt","requestID":"0e23b8d3b0368f296413a26a8b5ff3d2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9f69637c-b188-48b5-b23c-bac5b5855144"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"d6766796f2ca22b04a2394a68529c64e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9f69637c-b188-48b5-b23c-bac5b5855144"},"level":"info","message":"Building connection plan","requestID":"d6766796f2ca22b04a2394a68529c64e"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"26e36443-2df7-4e5f-a282-73ab5d5f6bc3"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"06499a57-cca8-4ea4-a2c8-82286c7be17f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"3d04bb37-9ed0-4f95-846e-62d938ba960d"}]},"level":"info","message":"Built pairwise service configurations","requestID":"d6766796f2ca22b04a2394a68529c64e"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"d6766796f2ca22b04a2394a68529c64e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0e23b8d3b0368f296413a26a8b5ff3d2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0e23b8d3b0368f296413a26a8b5ff3d2"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"687c4b80-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"client_addr":"127.0.0.1:35432","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.618804,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"0e23b8d3b0368f296413a26a8b5ff3d2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433058,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0e23b8d3b0368f296413a26a8b5ff3d2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.572299,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"687c4b80-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433058,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"687c4b80-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F834a9630-174a-43b4-bc9b-362ceb5aef9b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F834a9630-174a-43b4-bc9b-362ceb5aef9b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:37.517356389Z"}]},"request_id":"e92eaa6a-a178-4dcc-84aa-27954c993a59","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.877631} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0e23b8d3b0368f296413a26a8b5ff3d2","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0e23b8d3b0368f296413a26a8b5ff3d2"} gateway-1 | {"time_local":"05/May/2025:08:17:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/834a9630-174a-43b4-bc9b-362ceb5aef9b? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e23b8d3b0368f296413a26a8b5ff3d2"} device-1 | {"level":"info","message":"GET /devices/834a9630-174a-43b4-bc9b-362ceb5aef9b? 200 10ms","method":"GET","requestID":"0e23b8d3b0368f296413a26a8b5ff3d2","responseTime":10,"status":200,"url":"/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b?"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"813ee4ae-0f2e-4255-9d95-57ab1fe08da7","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.8835535} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"812ea44b-923d-4115-94fa-fbd01b92e043","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.8837326} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws","level":"info","message":"auth send jwt","requestID":"b015988bfe6c923c95c9c46fa6e41e25"} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"687c4b80-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b015988bfe6c923c95c9c46fa6e41e25","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b015988bfe6c923c95c9c46fa6e41e25"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.752135,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"b015988bfe6c923c95c9c46fa6e41e25","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433058,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA1OH0.0o1CIo9T8j5lGfJMje6KiCjXwoIqGpgOf28i2WI1wws"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"b015988bfe6c923c95c9c46fa6e41e25","responseTime":26,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F957fbd40-d0aa-4832-a364-c1237e968b43","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F957fbd40-d0aa-4832-a364-c1237e968b43","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:37.582791985Z"}]},"request_id":"e37372ef-983b-4fac-aee2-47b450ab1292","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.9162374} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b015988bfe6c923c95c9c46fa6e41e25","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"687c4b80-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"687c4b80-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/6036a98b-6968-49ec-93f4-57984eb565c1'","requestID":"687c4b80-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6036a98b-6968-49ec-93f4-57984eb565c1'","requestID":"687c4b80-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"687c4b80-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 50ms","method":"POST","requestID":"687c4b80-2989-11f0-8876-6f29f2a860cb","responseTime":50,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b015988bfe6c923c95c9c46fa6e41e25"} device-1 | {"level":"info","message":"GET /devices/957fbd40-d0aa-4832-a364-c1237e968b43? 200 37ms","method":"GET","requestID":"b015988bfe6c923c95c9c46fa6e41e25","responseTime":37,"status":200,"url":"/devices/957fbd40-d0aa-4832-a364-c1237e968b43?"} gateway-1 | {"time_local":"05/May/2025:08:17:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/957fbd40-d0aa-4832-a364-c1237e968b43? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b015988bfe6c923c95c9c46fa6e41e25"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"687c4b80-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9f69637c-b188-48b5-b23c-bac5b5855144"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"d6766796f2ca22b04a2394a68529c64e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"688b66b0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F834a9630-174a-43b4-bc9b-362ceb5aef9b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4014cbe6-d352-4448-a360-8290e6c64d2e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.9756248} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.494381,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"688b66b0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"688b66b0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"688b66b0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/834a9630-174a-43b4-bc9b-362ceb5aef9b/signaling 200 8ms","method":"POST","requestID":"688b66b0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"688cc640-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:38Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F957fbd40-d0aa-4832-a364-c1237e968b43","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b2378a97-10be-47ee-904c-4a8ec8a96dad","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433058.984362} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.523513,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"688cc640-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"688cc640-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"688cc640-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/957fbd40-d0aa-4832-a364-c1237e968b43/signaling 200 32ms","method":"POST","requestID":"688cc640-2989-11f0-8876-6f29f2a860cb","responseTime":32,"status":200,"url":"/devices/957fbd40-d0aa-4832-a364-c1237e968b43/signaling"} device-1 | {"device":"834a9630-174a-43b4-bc9b-362ceb5aef9b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"6036a98b-6968-49ec-93f4-57984eb565c1","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"957fbd40-d0aa-4832-a364-c1237e968b43","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"6036a98b-6968-49ec-93f4-57984eb565c1","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"957fbd40-d0aa-4832-a364-c1237e968b43","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"957fbd40-d0aa-4832-a364-c1237e968b43","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"957fbd40-d0aa-4832-a364-c1237e968b43","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"957fbd40-d0aa-4832-a364-c1237e968b43","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6036a98b-6968-49ec-93f4-57984eb565c1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6036a98b-6968-49ec-93f4-57984eb565c1","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"114b4da84332e6bc439702ce656bb5b8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"114b4da84332e6bc439702ce656bb5b8","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6036a98b-6968-49ec-93f4-57984eb565c1"}}},"level":"info","message":"received a callback","requestID":"114b4da84332e6bc439702ce656bb5b8"} device-1 | {"device":"834a9630-174a-43b4-bc9b-362ceb5aef9b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"834a9630-174a-43b4-bc9b-362ceb5aef9b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"834a9630-174a-43b4-bc9b-362ceb5aef9b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"114b4da84332e6bc439702ce656bb5b8","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"114b4da84332e6bc439702ce656bb5b8"} device-1 | {"device":"957fbd40-d0aa-4832-a364-c1237e968b43","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"6036a98b-6968-49ec-93f4-57984eb565c1","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"834a9630-174a-43b4-bc9b-362ceb5aef9b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"834a9630-174a-43b4-bc9b-362ceb5aef9b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"957fbd40-d0aa-4832-a364-c1237e968b43","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"6036a98b-6968-49ec-93f4-57984eb565c1","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6036a98b-6968-49ec-93f4-57984eb565c1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6036a98b-6968-49ec-93f4-57984eb565c1","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d1435722f342d42f670ad1c7ce2a953b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d1435722f342d42f670ad1c7ce2a953b","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6036a98b-6968-49ec-93f4-57984eb565c1"}}},"level":"info","message":"received a callback","requestID":"d1435722f342d42f670ad1c7ce2a953b"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"69c2fc50-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:41Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6036a98b-6968-49ec-93f4-57984eb565c1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ecc747f-14db-446d-9d2a-2fd14d7d60db","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433061.016956} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.213591,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6036a98b-6968-49ec-93f4-57984eb565c1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"69c2fc50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6036a98b-6968-49ec-93f4-57984eb565c1","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"69c2fc50-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"69c2fc50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/6036a98b-6968-49ec-93f4-57984eb565c1 200 7ms","method":"GET","requestID":"69c2fc50-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/peerconnections/6036a98b-6968-49ec-93f4-57984eb565c1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 24ms","method":"POST","requestID":"d1435722f342d42f670ad1c7ce2a953b","responseTime":24,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch","requestID":"d1435722f342d42f670ad1c7ce2a953b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"69c630a0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:41Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F957fbd40-d0aa-4832-a364-c1237e968b43","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a57f3550-a55f-462c-ae76-e8067a77770f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433061.0384462} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.411947,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"69c630a0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"69c630a0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"69c630a0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/957fbd40-d0aa-4832-a364-c1237e968b43/signaling 200 8ms","method":"POST","requestID":"69c630a0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/957fbd40-d0aa-4832-a364-c1237e968b43/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"69c79030-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:41Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F834a9630-174a-43b4-bc9b-362ceb5aef9b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e85385dc-2ad3-4da1-ab0d-6e921307e289","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433061.0474308} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.212129,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"69c79030-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"69c79030-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"69c79030-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/834a9630-174a-43b4-bc9b-362ceb5aef9b/signaling 200 13ms","method":"POST","requestID":"69c79030-2989-11f0-8876-6f29f2a860cb","responseTime":13,"status":200,"url":"/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2MX0.EZt8AQLyinQqpdMvdfJ8dwCnzifqbNp0sJdzO49-AMw","level":"info","message":"auth send jwt","requestID":"abe8e0ad98e7e931131d0a5b72dbc30d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"abe8e0ad98e7e931131d0a5b72dbc30d","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/9f69637c-b188-48b5-b23c-bac5b5855144","requestID":"abe8e0ad98e7e931131d0a5b72dbc30d"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:41Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.019395,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9f69637c-b188-48b5-b23c-bac5b5855144","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"abe8e0ad98e7e931131d0a5b72dbc30d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/9f69637c-b188-48b5-b23c-bac5b5855144","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433061,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2MX0.EZt8AQLyinQqpdMvdfJ8dwCnzifqbNp0sJdzO49-AMw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"abe8e0ad98e7e931131d0a5b72dbc30d","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/9f69637c-b188-48b5-b23c-bac5b5855144","requestID":"abe8e0ad98e7e931131d0a5b72dbc30d"} gateway-1 | {"time_local":"05/May/2025:08:17:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/9f69637c-b188-48b5-b23c-bac5b5855144 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"abe8e0ad98e7e931131d0a5b72dbc30d"} experiment-1 | {"level":"info","message":"GET /experiments/9f69637c-b188-48b5-b23c-bac5b5855144 200 11ms","method":"GET","requestID":"abe8e0ad98e7e931131d0a5b72dbc30d","responseTime":11,"status":200,"url":"/experiments/9f69637c-b188-48b5-b23c-bac5b5855144"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2MX0.EZt8AQLyinQqpdMvdfJ8dwCnzifqbNp0sJdzO49-AMw","level":"info","message":"auth send jwt","requestID":"c9cc1bcb3b2bd0f25d0f1debf14d06c4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c9cc1bcb3b2bd0f25d0f1debf14d06c4","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/9f69637c-b188-48b5-b23c-bac5b5855144","requestID":"c9cc1bcb3b2bd0f25d0f1debf14d06c4"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:41Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.204502,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9f69637c-b188-48b5-b23c-bac5b5855144","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"c9cc1bcb3b2bd0f25d0f1debf14d06c4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/9f69637c-b188-48b5-b23c-bac5b5855144","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433061,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2MX0.EZt8AQLyinQqpdMvdfJ8dwCnzifqbNp0sJdzO49-AMw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c9cc1bcb3b2bd0f25d0f1debf14d06c4","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9f69637c-b188-48b5-b23c-bac5b5855144"},"level":"info","message":"Attempting to finish experiment","requestID":"c9cc1bcb3b2bd0f25d0f1debf14d06c4"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"69db1830-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:41Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.813278,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6036a98b-6968-49ec-93f4-57984eb565c1","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"69db1830-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/6036a98b-6968-49ec-93f4-57984eb565c1","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433061,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2MX0.EZt8AQLyinQqpdMvdfJ8dwCnzifqbNp0sJdzO49-AMw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"69db1830-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"834a9630-174a-43b4-bc9b-362ceb5aef9b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"834a9630-174a-43b4-bc9b-362ceb5aef9b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"834a9630-174a-43b4-bc9b-362ceb5aef9b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"957fbd40-d0aa-4832-a364-c1237e968b43","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"957fbd40-d0aa-4832-a364-c1237e968b43","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"957fbd40-d0aa-4832-a364-c1237e968b43","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6036a98b-6968-49ec-93f4-57984eb565c1' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6036a98b-6968-49ec-93f4-57984eb565c1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6036a98b-6968-49ec-93f4-57984eb565c1","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6036a98b-6968-49ec-93f4-57984eb565c1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6036a98b-6968-49ec-93f4-57984eb565c1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"1213c52d-7570-420f-90ba-48fca0b25ac5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433061.186469} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aad3dedf-93d1-4ca4-9a37-84ead4f760a7","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433061.1866329} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"13d895f0e11402fd58be527decb017e5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"13d895f0e11402fd58be527decb017e5","responseTime":0,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"491458829882a83cab8d5a7f4f602a01","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"69db1830-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"491458829882a83cab8d5a7f4f602a01","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6036a98b-6968-49ec-93f4-57984eb565c1"}}},"level":"info","message":"received a callback","requestID":"13d895f0e11402fd58be527decb017e5"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6036a98b-6968-49ec-93f4-57984eb565c1"}}},"level":"info","message":"received a callback","requestID":"491458829882a83cab8d5a7f4f602a01"} device-1 | {"data":{"peerconnection":"6036a98b-6968-49ec-93f4-57984eb565c1","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"69db1830-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/6036a98b-6968-49ec-93f4-57984eb565c1 204 62ms","method":"DELETE","requestID":"69db1830-2989-11f0-8876-6f29f2a860cb","responseTime":62,"status":204,"url":"/peerconnections/6036a98b-6968-49ec-93f4-57984eb565c1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9f69637c-b188-48b5-b23c-bac5b5855144"},"level":"info","message":"Successfully finished experiment","requestID":"c9cc1bcb3b2bd0f25d0f1debf14d06c4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"69eacfa0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:41Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F957fbd40-d0aa-4832-a364-c1237e968b43","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"73055c10-d3da-448c-ab39-7f13c1e24ed1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433061.2783797} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.471354,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"69eacfa0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"69eacfa0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"69eacfa0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/957fbd40-d0aa-4832-a364-c1237e968b43/signaling 200 8ms","method":"POST","requestID":"69eacfa0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/957fbd40-d0aa-4832-a364-c1237e968b43/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"69ec5640-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9f69637c-b188-48b5-b23c-bac5b5855144': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9f69637c-b188-48b5-b23c-bac5b5855144","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"239a3804-defa-4b1a-bbaf-a74dabd5a0b2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433061.28465} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b758e2d0-a9ec-430b-aa71-07b6b95b0527","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433061.284892} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"c9cc1bcb3b2bd0f25d0f1debf14d06c4","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:41Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F834a9630-174a-43b4-bc9b-362ceb5aef9b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"218b5d8f-d80f-4374-bcea-c6232a6d31e6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433061.2884147} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.472408,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"69ec5640-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"69ec5640-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"69ec5640-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/834a9630-174a-43b4-bc9b-362ceb5aef9b/signaling 200 32ms","method":"POST","requestID":"69ec5640-2989-11f0-8876-6f29f2a860cb","responseTime":32,"status":200,"url":"/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/9f69637c-b188-48b5-b23c-bac5b5855144","requestID":"c9cc1bcb3b2bd0f25d0f1debf14d06c4"} gateway-1 | {"time_local":"05/May/2025:08:17:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/9f69637c-b188-48b5-b23c-bac5b5855144 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.276","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c9cc1bcb3b2bd0f25d0f1debf14d06c4"} experiment-1 | {"level":"info","message":"DELETE /experiments/9f69637c-b188-48b5-b23c-bac5b5855144 204 273ms","method":"DELETE","requestID":"c9cc1bcb3b2bd0f25d0f1debf14d06c4","responseTime":273,"status":204,"url":"/experiments/9f69637c-b188-48b5-b23c-bac5b5855144"} gateway-1 | {"time_local":"05/May/2025:08:17:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2751","request_time":"2.824","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"fbbfce12f9dc8788c22a805d19b8fc1b"} gateway-1 | {"time_local":"05/May/2025:08:17:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"2.817","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"9e47af012ffa5c6124bf4e78ed3a0dc1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 228ms","method":"POST","requestID":"13d895f0e11402fd58be527decb017e5","responseTime":228,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.230","http_referrer":"","http_user_agent":"node-fetch","requestID":"13d895f0e11402fd58be527decb017e5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 228ms","method":"POST","requestID":"491458829882a83cab8d5a7f4f602a01","responseTime":228,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/834a9630-174a-43b4-bc9b-362ceb5aef9b' closed"} gateway-1 | {"time_local":"05/May/2025:08:17:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.231","http_referrer":"","http_user_agent":"node-fetch","requestID":"491458829882a83cab8d5a7f4f602a01"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2MX0.EZt8AQLyinQqpdMvdfJ8dwCnzifqbNp0sJdzO49-AMw","level":"info","message":"auth send jwt","requestID":"8251abf4e6cf8f2c8de4ef489b72de88"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8251abf4e6cf8f2c8de4ef489b72de88","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8251abf4e6cf8f2c8de4ef489b72de88"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/957fbd40-d0aa-4832-a364-c1237e968b43' closed"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:41Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.834328,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"8251abf4e6cf8f2c8de4ef489b72de88","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433061,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2MX0.EZt8AQLyinQqpdMvdfJ8dwCnzifqbNp0sJdzO49-AMw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8251abf4e6cf8f2c8de4ef489b72de88","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fc53d3-1374-4dd7-9ae0-431f0343ac0b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5b0e3d4e-5843-48a3-ba59-8aa9e40a5ec5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433061.4618127} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"8251abf4e6cf8f2c8de4ef489b72de88","responseTime":26,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08dfc7cf-75ab-4b44-afdd-4fed6a9bad4c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433061.4668112} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"8251abf4e6cf8f2c8de4ef489b72de88","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fc53d3-1374-4dd7-9ae0-431f0343ac0b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"cc656e25-0c44-47ea-bfef-00b0aeeb9ded","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433061.4775064} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"02fde868-2a94-427f-9b1a-c33f335ea935","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433061.477596} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"8251abf4e6cf8f2c8de4ef489b72de88","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fc53d3-1374-4dd7-9ae0-431f0343ac0b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fc53d3-1374-4dd7-9ae0-431f0343ac0b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:41.477468584Z"}]},"request_id":"3b35faaa-6444-4f0f-802f-9ed60033c8d4","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433061.5060124} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8251abf4e6cf8f2c8de4ef489b72de88"} device-1 | {"level":"info","message":"POST /devices? 201 88ms","method":"POST","requestID":"8251abf4e6cf8f2c8de4ef489b72de88","responseTime":88,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"8251abf4e6cf8f2c8de4ef489b72de88","responseTime":26,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"05/May/2025:08:17:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8251abf4e6cf8f2c8de4ef489b72de88"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2MX0.EZt8AQLyinQqpdMvdfJ8dwCnzifqbNp0sJdzO49-AMw","level":"info","message":"auth send jwt","requestID":"4fec95daf25f7308d034850e0941fd5d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4fec95daf25f7308d034850e0941fd5d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4fec95daf25f7308d034850e0941fd5d"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:41Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.786173,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"4fec95daf25f7308d034850e0941fd5d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433061,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2MX0.EZt8AQLyinQqpdMvdfJ8dwCnzifqbNp0sJdzO49-AMw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4fec95daf25f7308d034850e0941fd5d","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcb94e97-6f69-44ec-b446-57155cc7ff26","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a2b8ead9-5f7c-4091-8a9e-2eb76b9d5491","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433061.5282753} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4fec95daf25f7308d034850e0941fd5d","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bddcaa76-112b-48bc-8caf-45b4f6c59f45","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433061.5322292} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"4fec95daf25f7308d034850e0941fd5d","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcb94e97-6f69-44ec-b446-57155cc7ff26","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"363154c4-71d2-436c-9ee3-703ea960bef7","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433061.5706027} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5c04ab1-7c02-4ca3-b3a4-dee4aa48ad20","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433061.570906} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"4fec95daf25f7308d034850e0941fd5d","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcb94e97-6f69-44ec-b446-57155cc7ff26","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcb94e97-6f69-44ec-b446-57155cc7ff26","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:41.570573397Z"}]},"request_id":"fb09b900-7dae-4793-9576-c9e298ad13c3","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433061.5757384} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4fec95daf25f7308d034850e0941fd5d"} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"4fec95daf25f7308d034850e0941fd5d","responseTime":28,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"05/May/2025:08:17:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4fec95daf25f7308d034850e0941fd5d"} device-1 | {"level":"info","message":"POST /devices? 201 90ms","method":"POST","requestID":"4fec95daf25f7308d034850e0941fd5d","responseTime":90,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b13963dbb0190f29ef0d34d9b2933289","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b13963dbb0190f29ef0d34d9b2933289","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b/websocket 200 1ms","method":"OPTIONS","requestID":"b13963dbb0190f29ef0d34d9b2933289","responseTime":1,"status":200,"url":"/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b/websocket"} gateway-1 | {"time_local":"05/May/2025:08:17:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b13963dbb0190f29ef0d34d9b2933289"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2M30.yexlSbFp8kglCFpTs-Zk5ji5m2miPlS1FtDTqGzDDw0","level":"info","message":"auth send jwt","requestID":"f2118023cf9b8927978bf90ff4c245eb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f2118023cf9b8927978bf90ff4c245eb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f2118023cf9b8927978bf90ff4c245eb"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:43Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.081418,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"f2118023cf9b8927978bf90ff4c245eb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433063,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2M30.yexlSbFp8kglCFpTs-Zk5ji5m2miPlS1FtDTqGzDDw0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f2118023cf9b8927978bf90ff4c245eb","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1f6f1be346712b82d1a00cf1f3d450b8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1f6f1be346712b82d1a00cf1f3d450b8","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:17:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/fcb94e97-6f69-44ec-b446-57155cc7ff26/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.003","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1f6f1be346712b82d1a00cf1f3d450b8"} device-1 | {"level":"info","message":"OPTIONS /devices/fcb94e97-6f69-44ec-b446-57155cc7ff26/websocket 200 1ms","method":"OPTIONS","requestID":"1f6f1be346712b82d1a00cf1f3d450b8","responseTime":1,"status":200,"url":"/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2M30.yexlSbFp8kglCFpTs-Zk5ji5m2miPlS1FtDTqGzDDw0","level":"info","message":"auth send jwt","requestID":"86b68ae992a480ce9b8207dbd8373ee9"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"86b68ae992a480ce9b8207dbd8373ee9","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"86b68ae992a480ce9b8207dbd8373ee9"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:43Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.184189,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"86b68ae992a480ce9b8207dbd8373ee9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433063,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2M30.yexlSbFp8kglCFpTs-Zk5ji5m2miPlS1FtDTqGzDDw0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"86b68ae992a480ce9b8207dbd8373ee9","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f2118023cf9b8927978bf90ff4c245eb"} device-1 | {"level":"info","message":"POST /devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b/websocket 200 101ms","method":"POST","requestID":"f2118023cf9b8927978bf90ff4c245eb","responseTime":101,"status":200,"url":"/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b/websocket"} gateway-1 | {"time_local":"05/May/2025:08:17:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.107","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f2118023cf9b8927978bf90ff4c245eb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"86b68ae992a480ce9b8207dbd8373ee9"} device-1 | {"level":"info","message":"POST /devices/fcb94e97-6f69-44ec-b446-57155cc7ff26/websocket 200 58ms","method":"POST","requestID":"86b68ae992a480ce9b8207dbd8373ee9","responseTime":58,"status":200,"url":"/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26/websocket"} gateway-1 | {"time_local":"05/May/2025:08:17:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/fcb94e97-6f69-44ec-b446-57155cc7ff26/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.065","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"86b68ae992a480ce9b8207dbd8373ee9"} device-1 | {"level":"info","message":"device 'http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NH0.5PQiVRocHkIyYKo8RkFOXyM9rns_QPrjDd7S8rqg6AQ","level":"info","message":"auth send jwt","requestID":"8a5161a252e6f2736ff6f5483fef649b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8a5161a252e6f2736ff6f5483fef649b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8a5161a252e6f2736ff6f5483fef649b"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.726929,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"8a5161a252e6f2736ff6f5483fef649b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433064,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NH0.5PQiVRocHkIyYKo8RkFOXyM9rns_QPrjDd7S8rqg6AQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8a5161a252e6f2736ff6f5483fef649b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fc53d3-1374-4dd7-9ae0-431f0343ac0b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fc53d3-1374-4dd7-9ae0-431f0343ac0b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:41.477468584Z"}]},"request_id":"be66d068-b187-48cf-b8dd-6b240ea80334","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.039191} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8a5161a252e6f2736ff6f5483fef649b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8a5161a252e6f2736ff6f5483fef649b"} device-1 | {"level":"info","message":"GET /devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b? 200 8ms","method":"GET","requestID":"8a5161a252e6f2736ff6f5483fef649b","responseTime":8,"status":200,"url":"/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NH0.5PQiVRocHkIyYKo8RkFOXyM9rns_QPrjDd7S8rqg6AQ","level":"info","message":"auth send jwt","requestID":"e2f510a3c8004e6cd49491899fcff4a7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e2f510a3c8004e6cd49491899fcff4a7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e2f510a3c8004e6cd49491899fcff4a7"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.57973,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} gateway-1 | {"time_local":"05/May/2025:08:17:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8a5161a252e6f2736ff6f5483fef649b"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"e2f510a3c8004e6cd49491899fcff4a7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433064,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NH0.5PQiVRocHkIyYKo8RkFOXyM9rns_QPrjDd7S8rqg6AQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e2f510a3c8004e6cd49491899fcff4a7","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcb94e97-6f69-44ec-b446-57155cc7ff26","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcb94e97-6f69-44ec-b446-57155cc7ff26","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:41.570573397Z"}]},"request_id":"04d67085-c51e-4227-98a3-0506d149ba51","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.0509162} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e2f510a3c8004e6cd49491899fcff4a7","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e2f510a3c8004e6cd49491899fcff4a7"} gateway-1 | {"time_local":"05/May/2025:08:17:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fcb94e97-6f69-44ec-b446-57155cc7ff26? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e2f510a3c8004e6cd49491899fcff4a7"} device-1 | {"level":"info","message":"GET /devices/fcb94e97-6f69-44ec-b446-57155cc7ff26? 200 8ms","method":"GET","requestID":"e2f510a3c8004e6cd49491899fcff4a7","responseTime":8,"status":200,"url":"/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NH0.5PQiVRocHkIyYKo8RkFOXyM9rns_QPrjDd7S8rqg6AQ","level":"info","message":"auth send jwt","requestID":"1ccbbc8cea54436dd182d1859306dbdd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1ccbbc8cea54436dd182d1859306dbdd","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"1ccbbc8cea54436dd182d1859306dbdd"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.523706,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"1ccbbc8cea54436dd182d1859306dbdd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433064,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NH0.5PQiVRocHkIyYKo8RkFOXyM9rns_QPrjDd7S8rqg6AQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1ccbbc8cea54436dd182d1859306dbdd","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd"},"level":"info","message":"Attempting to run experiment","requestID":"1ccbbc8cea54436dd182d1859306dbdd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd"},"level":"info","message":"Attempting to book experiment","requestID":"1ccbbc8cea54436dd182d1859306dbdd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd"},"level":"info","message":"Successfully booked experiment","requestID":"1ccbbc8cea54436dd182d1859306dbdd"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6b9c7740-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6b9c9e50-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.630671,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6b9c7740-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433064,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NH0.5PQiVRocHkIyYKo8RkFOXyM9rns_QPrjDd7S8rqg6AQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"6b9c7740-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696214,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6b9c9e50-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433064,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NH0.5PQiVRocHkIyYKo8RkFOXyM9rns_QPrjDd7S8rqg6AQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"6b9c9e50-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fc53d3-1374-4dd7-9ae0-431f0343ac0b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fc53d3-1374-4dd7-9ae0-431f0343ac0b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:41.477468584Z"}]},"request_id":"7704b948-8660-4363-b968-0ec2e0554c17","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.1475096} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6b9c7740-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6b9c7740-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcb94e97-6f69-44ec-b446-57155cc7ff26","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcb94e97-6f69-44ec-b446-57155cc7ff26","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:41.570573397Z"}]},"request_id":"bd61425b-a9f0-487d-865e-b87b959de4c9","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.1511471} device-1 | {"level":"info","message":"GET /devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b? 200 35ms","method":"GET","requestID":"6b9c7740-2989-11f0-8876-6f29f2a860cb","responseTime":35,"status":200,"url":"/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6b9c9e50-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6b9c9e50-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/fcb94e97-6f69-44ec-b446-57155cc7ff26? 200 37ms","method":"GET","requestID":"6b9c9e50-2989-11f0-8876-6f29f2a860cb","responseTime":37,"status":200,"url":"/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd"},"level":"info","message":"Setting up experiment","requestID":"1ccbbc8cea54436dd182d1859306dbdd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"1ccbbc8cea54436dd182d1859306dbdd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd"},"level":"info","message":"Successfully locked booking for experiment","requestID":"1ccbbc8cea54436dd182d1859306dbdd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"1ccbbc8cea54436dd182d1859306dbdd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"1ccbbc8cea54436dd182d1859306dbdd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd"},"level":"info","message":"Attempting to update booking for experiment","requestID":"1ccbbc8cea54436dd182d1859306dbdd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd"},"level":"info","message":"Successfully updated booking for experiment","requestID":"1ccbbc8cea54436dd182d1859306dbdd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd"},"level":"info","message":"Successfully set up experiment","requestID":"1ccbbc8cea54436dd182d1859306dbdd"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6bab1d40-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6bab4450-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd"},"level":"info","message":"Successfully running experiment","requestID":"1ccbbc8cea54436dd182d1859306dbdd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6bab6b60-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.765347,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6bab1d40-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433064,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NH0.5PQiVRocHkIyYKo8RkFOXyM9rns_QPrjDd7S8rqg6AQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"6bab1d40-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.572575,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6bab4450-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433064,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NH0.5PQiVRocHkIyYKo8RkFOXyM9rns_QPrjDd7S8rqg6AQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"6bab4450-2989-11f0-8876-6f29f2a860cb","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fc53d3-1374-4dd7-9ae0-431f0343ac0b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a82086d-9e55-4f55-b09d-6cec1f179d6f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.244835} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.527169,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6bab6b60-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6bab6b60-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fc53d3-1374-4dd7-9ae0-431f0343ac0b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fc53d3-1374-4dd7-9ae0-431f0343ac0b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:41.477468584Z"}]},"request_id":"a88655ac-db06-479a-9039-7ab2bc01b7c8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.2461789} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcb94e97-6f69-44ec-b446-57155cc7ff26","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcb94e97-6f69-44ec-b446-57155cc7ff26","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:41.570573397Z"}]},"request_id":"54557735-2025-4905-aa6a-3886da0881a0","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.2471604} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6bab1d40-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6bab4450-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6bab6b60-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b/signaling 200 38ms","method":"POST","requestID":"6bab6b60-2989-11f0-8876-6f29f2a860cb","responseTime":38,"status":200,"url":"/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6bab1d40-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b? 200 40ms","method":"GET","requestID":"6bab1d40-2989-11f0-8876-6f29f2a860cb","responseTime":40,"status":200,"url":"/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6bab4450-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/fcb94e97-6f69-44ec-b446-57155cc7ff26? 200 40ms","method":"GET","requestID":"6bab4450-2989-11f0-8876-6f29f2a860cb","responseTime":40,"status":200,"url":"/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6bb185e0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6bb1acf0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcb94e97-6f69-44ec-b446-57155cc7ff26","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee7d86ed-7818-4a9c-b897-01c2a9f7f06b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.2578034} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fc53d3-1374-4dd7-9ae0-431f0343ac0b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12524672-028d-4197-91a0-cefd2ca9c6f5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.2582297} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"c0f9b374-886c-4245-bb8a-b610e0a746bf","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.2586102} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.405323,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6bb185e0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6bb185e0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8318ab63-71be-4680-85d7-218ad63a3775","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.2588763} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.147333,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6bb1acf0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6bb1acf0-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","method":"POST","requestID":"1ccbbc8cea54436dd182d1859306dbdd","responseTime":45,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6bb185e0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/fcb94e97-6f69-44ec-b446-57155cc7ff26/signaling 200 8ms","method":"POST","requestID":"6bb185e0-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6bb1acf0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b/signaling 200 34ms","method":"POST","requestID":"6bb1acf0-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6bb75240-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"1ccbbc8cea54436dd182d1859306dbdd"} gateway-1 | {"time_local":"05/May/2025:08:17:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.238","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1ccbbc8cea54436dd182d1859306dbdd"} experiment-1 | {"level":"info","message":"POST /experiments? 201 235ms","method":"POST","requestID":"1ccbbc8cea54436dd182d1859306dbdd","responseTime":235,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcb94e97-6f69-44ec-b446-57155cc7ff26","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ca65e9a-4961-4706-8875-46354a76877c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.2965581} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.268181,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NH0.5PQiVRocHkIyYKo8RkFOXyM9rns_QPrjDd7S8rqg6AQ","level":"info","message":"auth send jwt","requestID":"7444bed932677828c0f15bb9e5fbea37"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7444bed932677828c0f15bb9e5fbea37","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6bb75240-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6bb75240-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7444bed932677828c0f15bb9e5fbea37"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.647645,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6bb75240-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"7444bed932677828c0f15bb9e5fbea37","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433064,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NH0.5PQiVRocHkIyYKo8RkFOXyM9rns_QPrjDd7S8rqg6AQ"} device-1 | {"level":"info","message":"POST /devices/fcb94e97-6f69-44ec-b446-57155cc7ff26/signaling 200 9ms","method":"POST","requestID":"6bb75240-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"7444bed932677828c0f15bb9e5fbea37","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"1ccbbc8cea54436dd182d1859306dbdd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd"},"level":"info","message":"Building connection plan","requestID":"1ccbbc8cea54436dd182d1859306dbdd"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"13517a5a-36b5-46bc-a181-9242bd9152a8"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"5a3d335a-18ac-4145-a127-f43d51097db7"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"69dabfef-a014-48f3-b7f4-53d66a30b466"}]},"level":"info","message":"Built pairwise service configurations","requestID":"1ccbbc8cea54436dd182d1859306dbdd"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"1ccbbc8cea54436dd182d1859306dbdd"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"6bb8fff0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fc53d3-1374-4dd7-9ae0-431f0343ac0b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fc53d3-1374-4dd7-9ae0-431f0343ac0b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:41.477468584Z"}]},"request_id":"f616efaf-c66e-4426-b305-1c714a421a97","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.3045933} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"7444bed932677828c0f15bb9e5fbea37","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.420436,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7444bed932677828c0f15bb9e5fbea37"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6bb8fff0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433064,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NH0.5PQiVRocHkIyYKo8RkFOXyM9rns_QPrjDd7S8rqg6AQ"} gateway-1 | {"time_local":"05/May/2025:08:17:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7444bed932677828c0f15bb9e5fbea37"} device-1 | {"level":"info","message":"GET /devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b? 200 10ms","method":"GET","requestID":"7444bed932677828c0f15bb9e5fbea37","responseTime":10,"status":200,"url":"/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b?"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6bb8fff0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NH0.5PQiVRocHkIyYKo8RkFOXyM9rns_QPrjDd7S8rqg6AQ","level":"info","message":"auth send jwt","requestID":"a24e090edced3d8062ed57a82cf03f07"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a24e090edced3d8062ed57a82cf03f07","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a24e090edced3d8062ed57a82cf03f07"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"27b18408-5a3b-4672-b986-268624a25e45","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.3391933} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eb9aa914-90f0-47b9-aa8e-cfadd8750af8","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.3394105} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.597135,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"6bb8fff0-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"a24e090edced3d8062ed57a82cf03f07","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433064,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NH0.5PQiVRocHkIyYKo8RkFOXyM9rns_QPrjDd7S8rqg6AQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a24e090edced3d8062ed57a82cf03f07","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcb94e97-6f69-44ec-b446-57155cc7ff26","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcb94e97-6f69-44ec-b446-57155cc7ff26","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:41.570573397Z"}]},"request_id":"44b65510-f365-4f46-8540-4f985a75bb26","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.344363} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a24e090edced3d8062ed57a82cf03f07","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"6bb8fff0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"6bb8fff0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0f508411-0058-46f7-abab-1da54153614c'","requestID":"6bb8fff0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0f508411-0058-46f7-abab-1da54153614c'","requestID":"6bb8fff0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"6bb8fff0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 89ms","method":"POST","requestID":"6bb8fff0-2989-11f0-8876-6f29f2a860cb","responseTime":89,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a24e090edced3d8062ed57a82cf03f07"} gateway-1 | {"time_local":"05/May/2025:08:17:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fcb94e97-6f69-44ec-b446-57155cc7ff26? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.084","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a24e090edced3d8062ed57a82cf03f07"} device-1 | {"level":"info","message":"GET /devices/fcb94e97-6f69-44ec-b446-57155cc7ff26? 200 56ms","method":"GET","requestID":"a24e090edced3d8062ed57a82cf03f07","responseTime":56,"status":200,"url":"/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"6bb8fff0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/0f508411-0058-46f7-abab-1da54153614c","device":"fcb94e97-6f69-44ec-b446-57155cc7ff26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/0f508411-0058-46f7-abab-1da54153614c","device":"96fc53d3-1374-4dd7-9ae0-431f0343ac0b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"1ccbbc8cea54436dd182d1859306dbdd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6bce35a0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fc53d3-1374-4dd7-9ae0-431f0343ac0b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9193a1ed-004a-40ef-8249-bac2a2a93568","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.4460104} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.457938,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6bce35a0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6bce35a0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6bce35a0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b/signaling 200 7ms","method":"POST","requestID":"6bce35a0-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6bcf9530-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} device-1 | {"device":"96fc53d3-1374-4dd7-9ae0-431f0343ac0b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"96fc53d3-1374-4dd7-9ae0-431f0343ac0b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcb94e97-6f69-44ec-b446-57155cc7ff26","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4249689d-fd67-402b-ae09-fc91e6f6e46c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.456363} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.909067,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6bcf9530-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"6bcf9530-2989-11f0-8876-6f29f2a860cb","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"device":"fcb94e97-6f69-44ec-b446-57155cc7ff26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"fcb94e97-6f69-44ec-b446-57155cc7ff26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6bcf9530-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/fcb94e97-6f69-44ec-b446-57155cc7ff26/signaling 200 36ms","method":"POST","requestID":"6bcf9530-2989-11f0-8876-6f29f2a860cb","responseTime":36,"status":200,"url":"/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 996476417411139253 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:RI75\r\na=ice-pwd:OzveMn1fa3iiNAdMVnlnQRMT\r\na=ice-options:trickle\r\na=fingerprint:sha-256 62:F5:47:DD:72:19:3F:2F:BA:89:C2:99:19:E1:5A:F1:78:12:43:D5:83:B1:C4:C3:E0:D8:5C:83:ED:1D:E4:E3\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"96fc53d3-1374-4dd7-9ae0-431f0343ac0b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 841760203659184289 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:hXTq\r\na=ice-pwd:lPtKdzuLmlSjNGOPZajP22Wy\r\na=ice-options:trickle\r\na=fingerprint:sha-256 7C:D5:8C:15:2F:65:C0:37:33:4D:71:FE:9B:B3:3F:50:62:41:6B:F4:B2:3A:E4:82:16:42:00:DD:1B:2D:EF:60\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"fcb94e97-6f69-44ec-b446-57155cc7ff26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1836377858 1 udp 2113937151 012af4f4-5c1e-4fda-b45a-f532b43e06a6.local 53779 typ host generation 0 ufrag hXTq network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"fcb94e97-6f69-44ec-b446-57155cc7ff26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26'"} device-1 | {"content":{"candidate":"candidate:3480533268 1 udp 2113937151 3ac7863e-38d8-4196-b080-88fdccc7b6d4.local 55679 typ host generation 0 ufrag RI75 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"96fc53d3-1374-4dd7-9ae0-431f0343ac0b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"96fc53d3-1374-4dd7-9ae0-431f0343ac0b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"fcb94e97-6f69-44ec-b446-57155cc7ff26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0f508411-0058-46f7-abab-1da54153614c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0f508411-0058-46f7-abab-1da54153614c","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"96fc53d3-1374-4dd7-9ae0-431f0343ac0b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"fcb94e97-6f69-44ec-b446-57155cc7ff26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"643bc63fc10fce6f19a7111b7e307d50","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"643bc63fc10fce6f19a7111b7e307d50","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0f508411-0058-46f7-abab-1da54153614c"}}},"level":"info","message":"received a callback","requestID":"643bc63fc10fce6f19a7111b7e307d50"} device-1 | {"device":"fcb94e97-6f69-44ec-b446-57155cc7ff26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"643bc63fc10fce6f19a7111b7e307d50","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"643bc63fc10fce6f19a7111b7e307d50"} device-1 | {"device":"96fc53d3-1374-4dd7-9ae0-431f0343ac0b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"fcb94e97-6f69-44ec-b446-57155cc7ff26","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"0f508411-0058-46f7-abab-1da54153614c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"0f508411-0058-46f7-abab-1da54153614c","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0f508411-0058-46f7-abab-1da54153614c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0f508411-0058-46f7-abab-1da54153614c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"36620228d1ba51c1ce50e0c5495b6f6f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"36620228d1ba51c1ce50e0c5495b6f6f","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0f508411-0058-46f7-abab-1da54153614c"}}},"level":"info","message":"received a callback","requestID":"36620228d1ba51c1ce50e0c5495b6f6f"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd","requestID":"f7b57b3ac667ffbc38e5c0a7882eea81"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NH0.5PQiVRocHkIyYKo8RkFOXyM9rns_QPrjDd7S8rqg6AQ","level":"info","message":"auth send jwt","requestID":"f7b57b3ac667ffbc38e5c0a7882eea81"} authentication-1 | {"level":"info","message":"GET /auth 200 23ms","method":"GET","requestID":"f7b57b3ac667ffbc38e5c0a7882eea81","responseTime":23,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.842746,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"6bf25f70-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"f7b57b3ac667ffbc38e5c0a7882eea81","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433064,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NH0.5PQiVRocHkIyYKo8RkFOXyM9rns_QPrjDd7S8rqg6AQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f7b57b3ac667ffbc38e5c0a7882eea81","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0f508411-0058-46f7-abab-1da54153614c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8e19d8f3-e453-420d-a01a-057a5f217960","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.684082} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.29584,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd","requestID":"f7b57b3ac667ffbc38e5c0a7882eea81"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0f508411-0058-46f7-abab-1da54153614c","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6bf25f70-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0f508411-0058-46f7-abab-1da54153614c","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6bf25f70-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"05/May/2025:08:17:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f7b57b3ac667ffbc38e5c0a7882eea81"} experiment-1 | {"level":"info","message":"GET /experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd 200 9ms","method":"GET","requestID":"f7b57b3ac667ffbc38e5c0a7882eea81","responseTime":9,"status":200,"url":"/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"6bf25f70-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/0f508411-0058-46f7-abab-1da54153614c 200 8ms","method":"GET","requestID":"6bf25f70-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/peerconnections/0f508411-0058-46f7-abab-1da54153614c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"36620228d1ba51c1ce50e0c5495b6f6f","responseTime":26,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6bf593c0-2989-11f0-8876-6f29f2a860cb"} gateway-1 | {"time_local":"05/May/2025:08:17:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch","requestID":"36620228d1ba51c1ce50e0c5495b6f6f"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcb94e97-6f69-44ec-b446-57155cc7ff26","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4615f8d5-fd94-4d66-ae0f-2ed7b1f13a7e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.7240818} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.330398,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6bf593c0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6bf593c0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6bf593c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/fcb94e97-6f69-44ec-b446-57155cc7ff26/signaling 200 27ms","method":"POST","requestID":"6bf593c0-2989-11f0-8876-6f29f2a860cb","responseTime":27,"status":200,"url":"/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6bfa0090-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fc53d3-1374-4dd7-9ae0-431f0343ac0b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b34b31db-10bd-41a1-ac4b-4b0455f3782f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.7327065} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.074793,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6bfa0090-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6bfa0090-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6bfa0090-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b/signaling 200 7ms","method":"POST","requestID":"6bfa0090-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NH0.5PQiVRocHkIyYKo8RkFOXyM9rns_QPrjDd7S8rqg6AQ","level":"info","message":"auth send jwt","requestID":"c38ce6324ae74153c524724b3246d8bd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c38ce6324ae74153c524724b3246d8bd","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd","requestID":"c38ce6324ae74153c524724b3246d8bd"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":8.697943,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"c38ce6324ae74153c524724b3246d8bd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433064,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NH0.5PQiVRocHkIyYKo8RkFOXyM9rns_QPrjDd7S8rqg6AQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","method":"POST","requestID":"c38ce6324ae74153c524724b3246d8bd","responseTime":17,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd","requestID":"c38ce6324ae74153c524724b3246d8bd"} gateway-1 | {"time_local":"05/May/2025:08:17:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c38ce6324ae74153c524724b3246d8bd"} experiment-1 | {"level":"info","message":"GET /experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd 200 30ms","method":"GET","requestID":"c38ce6324ae74153c524724b3246d8bd","responseTime":30,"status":200,"url":"/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NH0.5PQiVRocHkIyYKo8RkFOXyM9rns_QPrjDd7S8rqg6AQ","level":"info","message":"auth send jwt","requestID":"a33053332898f137feee6f7517f510b7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a33053332898f137feee6f7517f510b7","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd","requestID":"a33053332898f137feee6f7517f510b7"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.692576,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"a33053332898f137feee6f7517f510b7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433064,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NH0.5PQiVRocHkIyYKo8RkFOXyM9rns_QPrjDd7S8rqg6AQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a33053332898f137feee6f7517f510b7","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd"},"level":"info","message":"Attempting to finish experiment","requestID":"a33053332898f137feee6f7517f510b7"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"6c0a0620-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.644039,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0f508411-0058-46f7-abab-1da54153614c","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6c0a0620-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/0f508411-0058-46f7-abab-1da54153614c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433064,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NH0.5PQiVRocHkIyYKo8RkFOXyM9rns_QPrjDd7S8rqg6AQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6c0a0620-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0f508411-0058-46f7-abab-1da54153614c","device":"fcb94e97-6f69-44ec-b446-57155cc7ff26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0f508411-0058-46f7-abab-1da54153614c","device":"96fc53d3-1374-4dd7-9ae0-431f0343ac0b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0f508411-0058-46f7-abab-1da54153614c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0f508411-0058-46f7-abab-1da54153614c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0f508411-0058-46f7-abab-1da54153614c","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0f508411-0058-46f7-abab-1da54153614c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0f508411-0058-46f7-abab-1da54153614c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"50330c26-a0bd-4a25-afbc-db10d691b2a5","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.8495982} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2084109-cc12-4a3c-a521-752f73acf24b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.8499215} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"744bc876833b7ad0d22318e7ef23a9a9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"6c0a0620-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"744bc876833b7ad0d22318e7ef23a9a9","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0f508411-0058-46f7-abab-1da54153614c"}}},"level":"info","message":"received a callback","requestID":"744bc876833b7ad0d22318e7ef23a9a9"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"11d10134fb2f1e09f9d0ffd2404267f0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"11d10134fb2f1e09f9d0ffd2404267f0","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0f508411-0058-46f7-abab-1da54153614c"}}},"level":"info","message":"received a callback","requestID":"11d10134fb2f1e09f9d0ffd2404267f0"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"6c0a0620-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/0f508411-0058-46f7-abab-1da54153614c 204 33ms","method":"DELETE","requestID":"6c0a0620-2989-11f0-8876-6f29f2a860cb","responseTime":33,"status":204,"url":"/peerconnections/0f508411-0058-46f7-abab-1da54153614c"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd"},"level":"info","message":"Successfully finished experiment","requestID":"a33053332898f137feee6f7517f510b7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6c11a740-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcb94e97-6f69-44ec-b446-57155cc7ff26","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3e351588-c2e0-46c8-b60f-2257c11dccdd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.8890438} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.249347,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6c11a740-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6c11a740-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6c11a740-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/fcb94e97-6f69-44ec-b446-57155cc7ff26/signaling 200 8ms","method":"POST","requestID":"6c11a740-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6c132de0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fc53d3-1374-4dd7-9ae0-431f0343ac0b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8f207e8c-15ab-4038-83d8-b5ded9722025","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.8977947} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.319292,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6c132de0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6c132de0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6c132de0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b/signaling 200 7ms","method":"POST","requestID":"6c132de0-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b/signaling"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"5e54eb37-bc18-407d-a899-88abfc4bb0e2","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.9203162} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7f5cbe63-cc6a-49d9-b23f-a88c1a17359f","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433064.9205172} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"a33053332898f137feee6f7517f510b7","responseTime":38,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd","requestID":"a33053332898f137feee6f7517f510b7"} gateway-1 | {"time_local":"05/May/2025:08:17:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.200","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a33053332898f137feee6f7517f510b7"} experiment-1 | {"level":"info","message":"DELETE /experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd 204 197ms","method":"DELETE","requestID":"a33053332898f137feee6f7517f510b7","responseTime":197,"status":204,"url":"/experiments/3fba2e9b-d0cf-4a7e-ae08-7e6bde1a76fd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 172ms","method":"POST","requestID":"744bc876833b7ad0d22318e7ef23a9a9","responseTime":172,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.175","http_referrer":"","http_user_agent":"node-fetch","requestID":"744bc876833b7ad0d22318e7ef23a9a9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 172ms","method":"POST","requestID":"11d10134fb2f1e09f9d0ffd2404267f0","responseTime":172,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch","requestID":"11d10134fb2f1e09f9d0ffd2404267f0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NX0.7EFZiUT8nIaAc0ZzukaauEVuyPJgtR9FGBGBkuBDyBA","level":"info","message":"auth send jwt","requestID":"fb5a5f35b8a508e34ffc2a3bb89aea75"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fb5a5f35b8a508e34ffc2a3bb89aea75","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"fb5a5f35b8a508e34ffc2a3bb89aea75"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:45Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.680864,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"fb5a5f35b8a508e34ffc2a3bb89aea75","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433065,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NX0.7EFZiUT8nIaAc0ZzukaauEVuyPJgtR9FGBGBkuBDyBA"} gateway-1 | {"time_local":"05/May/2025:08:17:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2338","request_time":"1.012","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ccdfbead7890655b0531cc9a74a9e183"} gateway-1 | {"time_local":"05/May/2025:08:17:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2338","request_time":"1.026","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e77fa6dd9a8e805fb78216222700fd75"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fb5a5f35b8a508e34ffc2a3bb89aea75","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/fcb94e97-6f69-44ec-b446-57155cc7ff26' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/96fc53d3-1374-4dd7-9ae0-431f0343ac0b' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe34cc96-7f35-4539-9ce4-ede86de7ecd4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bdcc01f1-5654-4fab-84ae-2ceec8fe0b36","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433065.0782893} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fb5a5f35b8a508e34ffc2a3bb89aea75","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9dbe7346-0ba1-4209-89bd-935661ed4342","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433065.082179} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"fb5a5f35b8a508e34ffc2a3bb89aea75","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe34cc96-7f35-4539-9ce4-ede86de7ecd4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"2ae97257-b97d-4404-ba9b-536254c00377","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433065.1164763} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0c2556c9-6a97-446d-a9ef-88e6527f4d68","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433065.1167123} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"fb5a5f35b8a508e34ffc2a3bb89aea75","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe34cc96-7f35-4539-9ce4-ede86de7ecd4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe34cc96-7f35-4539-9ce4-ede86de7ecd4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:45.116442541Z"}]},"request_id":"9641dca7-4a27-4dda-a7d7-b705b41edef7","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433065.119602} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fb5a5f35b8a508e34ffc2a3bb89aea75","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"fb5a5f35b8a508e34ffc2a3bb89aea75"} gateway-1 | {"time_local":"05/May/2025:08:17:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.098","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fb5a5f35b8a508e34ffc2a3bb89aea75"} device-1 | {"level":"info","message":"POST /devices? 201 94ms","method":"POST","requestID":"fb5a5f35b8a508e34ffc2a3bb89aea75","responseTime":94,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NX0.7EFZiUT8nIaAc0ZzukaauEVuyPJgtR9FGBGBkuBDyBA","level":"info","message":"auth send jwt","requestID":"730cf2d872d0ab6e581a4ed165c62fcf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"730cf2d872d0ab6e581a4ed165c62fcf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"730cf2d872d0ab6e581a4ed165c62fcf"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:45Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.741622,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"730cf2d872d0ab6e581a4ed165c62fcf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433065,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2NX0.7EFZiUT8nIaAc0ZzukaauEVuyPJgtR9FGBGBkuBDyBA"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"730cf2d872d0ab6e581a4ed165c62fcf","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62edd304-d439-4b07-babc-74a8601e9b1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3cd4f838-d592-492c-bede-be40c65d8187","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433065.1647182} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"730cf2d872d0ab6e581a4ed165c62fcf","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1cfb1a3a-df51-420b-bf77-7ac1462e6ab0","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433065.1686149} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"730cf2d872d0ab6e581a4ed165c62fcf","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62edd304-d439-4b07-babc-74a8601e9b1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"4fddfed0-097f-4f4c-98d2-2a82a241014c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433065.1765523} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2eb6615d-989e-484d-ab5c-3a383f76b2df","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433065.176639} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"730cf2d872d0ab6e581a4ed165c62fcf","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62edd304-d439-4b07-babc-74a8601e9b1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62edd304-d439-4b07-babc-74a8601e9b1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:45.176504720Z"}]},"request_id":"3cfab377-bd4f-479b-a541-871aa661a2bd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433065.1804757} authorization-1 | {"level":"info","message":"POST /relations/query 200 22ms","method":"POST","requestID":"730cf2d872d0ab6e581a4ed165c62fcf","responseTime":22,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"730cf2d872d0ab6e581a4ed165c62fcf"} gateway-1 | {"time_local":"05/May/2025:08:17:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.080","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"730cf2d872d0ab6e581a4ed165c62fcf"} device-1 | {"level":"info","message":"POST /devices? 201 77ms","method":"POST","requestID":"730cf2d872d0ab6e581a4ed165c62fcf","responseTime":77,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4ea5af0e4d7890fb6eff8ce290f831e9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4ea5af0e4d7890fb6eff8ce290f831e9","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:17:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/62edd304-d439-4b07-babc-74a8601e9b1f/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.003","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4ea5af0e4d7890fb6eff8ce290f831e9"} device-1 | {"level":"info","message":"OPTIONS /devices/62edd304-d439-4b07-babc-74a8601e9b1f/websocket 200 0ms","method":"OPTIONS","requestID":"4ea5af0e4d7890fb6eff8ce290f831e9","responseTime":0,"status":200,"url":"/devices/62edd304-d439-4b07-babc-74a8601e9b1f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2N30.NWeiJRoJWARf2unMZ1n_RqpmEirLLOtP1drDJystkzY","level":"info","message":"auth send jwt","requestID":"900267fc7ba3bce5585902d4aa8f2830"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"900267fc7ba3bce5585902d4aa8f2830","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"900267fc7ba3bce5585902d4aa8f2830"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.256022,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"900267fc7ba3bce5585902d4aa8f2830","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433067,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2N30.NWeiJRoJWARf2unMZ1n_RqpmEirLLOtP1drDJystkzY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"900267fc7ba3bce5585902d4aa8f2830","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"900267fc7ba3bce5585902d4aa8f2830"} device-1 | {"level":"info","message":"POST /devices/62edd304-d439-4b07-babc-74a8601e9b1f/websocket 200 40ms","method":"POST","requestID":"900267fc7ba3bce5585902d4aa8f2830","responseTime":40,"status":200,"url":"/devices/62edd304-d439-4b07-babc-74a8601e9b1f/websocket"} gateway-1 | {"time_local":"05/May/2025:08:17:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/62edd304-d439-4b07-babc-74a8601e9b1f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.045","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"900267fc7ba3bce5585902d4aa8f2830"} device-1 | {"level":"info","message":"device 'http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2N30.NWeiJRoJWARf2unMZ1n_RqpmEirLLOtP1drDJystkzY","level":"info","message":"auth send jwt","requestID":"ee1c9b327b08e5284d460124506c1eb5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ee1c9b327b08e5284d460124506c1eb5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ee1c9b327b08e5284d460124506c1eb5"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.719144,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"ee1c9b327b08e5284d460124506c1eb5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433067,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2N30.NWeiJRoJWARf2unMZ1n_RqpmEirLLOtP1drDJystkzY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ee1c9b327b08e5284d460124506c1eb5","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62edd304-d439-4b07-babc-74a8601e9b1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62edd304-d439-4b07-babc-74a8601e9b1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:45.176504720Z"}]},"request_id":"d6286fe1-b60c-4702-9c46-b15cf840ac6b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433067.5392694} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ee1c9b327b08e5284d460124506c1eb5","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ee1c9b327b08e5284d460124506c1eb5"} device-1 | {"level":"info","message":"GET /devices/62edd304-d439-4b07-babc-74a8601e9b1f? 200 9ms","method":"GET","requestID":"ee1c9b327b08e5284d460124506c1eb5","responseTime":9,"status":200,"url":"/devices/62edd304-d439-4b07-babc-74a8601e9b1f?"} gateway-1 | {"time_local":"05/May/2025:08:17:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/62edd304-d439-4b07-babc-74a8601e9b1f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ee1c9b327b08e5284d460124506c1eb5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2N30.NWeiJRoJWARf2unMZ1n_RqpmEirLLOtP1drDJystkzY","level":"info","message":"auth send jwt","requestID":"9ce39673516d0191aabaece2f860704c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9ce39673516d0191aabaece2f860704c","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"9ce39673516d0191aabaece2f860704c"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.691391,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"9ce39673516d0191aabaece2f860704c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433067,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2N30.NWeiJRoJWARf2unMZ1n_RqpmEirLLOtP1drDJystkzY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"9ce39673516d0191aabaece2f860704c","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd366aff-7285-48c1-b961-8ff314450706"},"level":"info","message":"Attempting to run experiment","requestID":"9ce39673516d0191aabaece2f860704c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd366aff-7285-48c1-b961-8ff314450706"},"level":"info","message":"Attempting to book experiment","requestID":"9ce39673516d0191aabaece2f860704c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd366aff-7285-48c1-b961-8ff314450706"},"level":"info","message":"Successfully booked experiment","requestID":"9ce39673516d0191aabaece2f860704c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6db0d850-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6db0ff60-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:47Z"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.6807,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe34cc96-7f35-4539-9ce4-ede86de7ecd4","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6db0d850-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/fe34cc96-7f35-4539-9ce4-ede86de7ecd4","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433067,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2N30.NWeiJRoJWARf2unMZ1n_RqpmEirLLOtP1drDJystkzY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6db0d850-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.642378,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6db0ff60-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433067,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2N30.NWeiJRoJWARf2unMZ1n_RqpmEirLLOtP1drDJystkzY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6db0ff60-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe34cc96-7f35-4539-9ce4-ede86de7ecd4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe34cc96-7f35-4539-9ce4-ede86de7ecd4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:45.116442541Z"}]},"request_id":"ce8c9ba7-60f6-46ce-87c2-ca89189f0e31","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433067.6115267} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6db0d850-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62edd304-d439-4b07-babc-74a8601e9b1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62edd304-d439-4b07-babc-74a8601e9b1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:45.176504720Z"}]},"request_id":"6b246485-d47f-44d1-988c-c29a59d27a9c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433067.6121085} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6db0ff60-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6db0d850-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/fe34cc96-7f35-4539-9ce4-ede86de7ecd4? 200 10ms","method":"GET","requestID":"6db0d850-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/fe34cc96-7f35-4539-9ce4-ede86de7ecd4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6db0ff60-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/62edd304-d439-4b07-babc-74a8601e9b1f? 200 10ms","method":"GET","requestID":"6db0ff60-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/62edd304-d439-4b07-babc-74a8601e9b1f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd366aff-7285-48c1-b961-8ff314450706"},"level":"info","message":"Setting up experiment","requestID":"9ce39673516d0191aabaece2f860704c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd366aff-7285-48c1-b961-8ff314450706"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"9ce39673516d0191aabaece2f860704c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd366aff-7285-48c1-b961-8ff314450706"},"level":"info","message":"Successfully locked booking for experiment","requestID":"9ce39673516d0191aabaece2f860704c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd366aff-7285-48c1-b961-8ff314450706"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"9ce39673516d0191aabaece2f860704c"} device-1 | {"level":"info","message":"postDevicesByDeviceId called","requestID":"6db87970-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:47Z"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.754557,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:47Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe34cc96-7f35-4539-9ce4-ede86de7ecd4","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6db87970-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/fe34cc96-7f35-4539-9ce4-ede86de7ecd4","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433067,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2N30.NWeiJRoJWARf2unMZ1n_RqpmEirLLOtP1drDJystkzY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6db87970-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F711ea0f7-17b8-4eb4-ad6f-f622fc521dde","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"4791c790-d57a-4569-9bf1-451f036d3a45","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433067.7032077} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"96428477-40b0-4c49-88e6-58025c976d7e","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433067.7033515} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"6db87970-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde' to 'http://localhost/callbacks/experiment'","requestID":"6db87970-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded","requestID":"6db87970-2989-11f0-8876-6f29f2a860cb"} authentication-1 | {"level":"info","message":"POST /token 201 13ms","method":"POST","requestID":"6dc0b6d0-2989-11f0-8bac-e524ecdc6567","responseTime":13,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/fe34cc96-7f35-4539-9ce4-ede86de7ecd4?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 91ms","method":"POST","requestID":"6db87970-2989-11f0-8876-6f29f2a860cb","responseTime":91,"status":201,"url":"/devices/fe34cc96-7f35-4539-9ce4-ede86de7ecd4?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd366aff-7285-48c1-b961-8ff314450706"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"9ce39673516d0191aabaece2f860704c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd366aff-7285-48c1-b961-8ff314450706"},"level":"info","message":"Attempting to update booking for experiment","requestID":"9ce39673516d0191aabaece2f860704c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd366aff-7285-48c1-b961-8ff314450706"},"level":"info","message":"Successfully updated booking for experiment","requestID":"9ce39673516d0191aabaece2f860704c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd366aff-7285-48c1-b961-8ff314450706"},"level":"info","message":"Successfully set up experiment","requestID":"9ce39673516d0191aabaece2f860704c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6dcf0eb0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6dcf35c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6dcf5cd0-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd366aff-7285-48c1-b961-8ff314450706"},"level":"info","message":"Successfully running experiment","requestID":"9ce39673516d0191aabaece2f860704c"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:47Z"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.845226,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6dcf0eb0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433067,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2N30.NWeiJRoJWARf2unMZ1n_RqpmEirLLOtP1drDJystkzY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6dcf0eb0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44604","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.708232,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:47Z"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6dcf35c0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433067,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2N30.NWeiJRoJWARf2unMZ1n_RqpmEirLLOtP1drDJystkzY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6dcf35c0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F711ea0f7-17b8-4eb4-ad6f-f622fc521dde","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b4e5f343-7bbf-4128-a383-d533dcffd1ec","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433067.8110347} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62edd304-d439-4b07-babc-74a8601e9b1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62edd304-d439-4b07-babc-74a8601e9b1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:45.176504720Z"}]},"request_id":"50ef6e4c-d11c-4d08-abfe-51c7505507b7","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433067.8122225} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.326784,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6dcf5cd0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"6dcf5cd0-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6dcf35c0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F711ea0f7-17b8-4eb4-ad6f-f622fc521dde","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F711ea0f7-17b8-4eb4-ad6f-f622fc521dde","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:47.703181865Z"}]},"request_id":"0d99b886-7779-40cb-b000-d720120bf94d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433067.8129637} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6dcf0eb0-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device 711ea0f7-17b8-4eb4-ad6f-f622fc521dde","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device 711ea0f7-17b8-4eb4-ad6f-f622fc521dde\n at Object.postDevicesByDeviceIdSignaling (file:///usr/local/lib/node_modules/@crosslab/service-device/app/operations/devices/device/signaling/post.js:44:15)\n at async file:///usr/local/lib/node_modules/@crosslab/service-device/app/generated/routes.js:276:28","status":404,"url":"/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"6dcf5cd0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde/signaling 404 15ms","method":"POST","requestID":"6dcf5cd0-2989-11f0-8876-6f29f2a860cb","responseTime":15,"status":404,"url":"/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6dcf35c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/62edd304-d439-4b07-babc-74a8601e9b1f? 200 16ms","method":"GET","requestID":"6dcf35c0-2989-11f0-8876-6f29f2a860cb","responseTime":16,"status":200,"url":"/devices/62edd304-d439-4b07-babc-74a8601e9b1f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6dcf0eb0-2989-11f0-8876-6f29f2a860cb"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device 711ea0f7-17b8-4eb4-ad6f-f622fc521dde"},"status":404}},"level":"error","message":"Could not send status-update message","requestID":"9ce39673516d0191aabaece2f860704c"} device-1 | {"level":"info","message":"GET /devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde? 200 42ms","method":"GET","requestID":"6dcf0eb0-2989-11f0-8876-6f29f2a860cb","responseTime":42,"status":200,"url":"/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6dd59e60-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbd366aff-7285-48c1-b961-8ff314450706#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbd366aff-7285-48c1-b961-8ff314450706","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"aa1b7455-b86d-40c0-9b74-0fa5ff93a98c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433067.8476605} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"986a95cb-f01c-41f6-9d6d-2a7374510e73","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433067.8480377} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:47Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"9ce39673516d0191aabaece2f860704c","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62edd304-d439-4b07-babc-74a8601e9b1f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"caede295-5bd7-4318-97eb-c31a9bfe502b","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433067.8502355} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.318166,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"6dd59e60-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6dd59e60-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6dd59e60-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/62edd304-d439-4b07-babc-74a8601e9b1f/signaling 200 8ms","method":"POST","requestID":"6dd59e60-2989-11f0-8876-6f29f2a860cb","responseTime":8,"status":200,"url":"/devices/62edd304-d439-4b07-babc-74a8601e9b1f/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/bd366aff-7285-48c1-b961-8ff314450706","user":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"9ce39673516d0191aabaece2f860704c"} gateway-1 | {"time_local":"05/May/2025:08:17:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.313","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9ce39673516d0191aabaece2f860704c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 309ms","method":"POST","requestID":"9ce39673516d0191aabaece2f860704c","responseTime":309,"status":201,"url":"/experiments?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"18471a537fa7f2c8916d9ce7653bfa00","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"18471a537fa7f2c8916d9ce7653bfa00","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"05/May/2025:08:17:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"18471a537fa7f2c8916d9ce7653bfa00"} device-1 | {"level":"info","message":"OPTIONS /devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde/websocket 200 1ms","method":"OPTIONS","requestID":"18471a537fa7f2c8916d9ce7653bfa00","responseTime":1,"status":200,"url":"/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6Im1KaWdTYlZKSVhmSnpCaVozeFpkMjd4NHlGMEVTZjZzT0ZWbVNneWdNMGtlYWlFcWtBMDN0ODRNTXFhb0xRaHl4WE85bnZEWVBxa1JHZjd2VnFtVHB3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA3MH0.4NA0GhPoVCGqPsKGe1UKvACMbRKCRGYi2EM5wgiJlPY","level":"info","message":"auth send jwt","requestID":"cb71416c04a404ac375771299873f99e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cb71416c04a404ac375771299873f99e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"cb71416c04a404ac375771299873f99e"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:50Z"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.240186,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"cb71416c04a404ac375771299873f99e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde","object_type":"device","payload":{"admin":true,"edgeToken":"mJigSbVJIXfJzBiZ3xZd27x4yF0ESf6sOFVmSgygM0keaiEqkA03t84MMqaoLQhyxXO9nvDYPqkRGf7vVqmTpw","iat":1746433070,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6Im1KaWdTYlZKSVhmSnpCaVozeFpkMjd4NHlGMEVTZjZzT0ZWbVNneWdNMGtlYWlFcWtBMDN0ODRNTXFhb0xRaHl4WE85bnZEWVBxa1JHZjd2VnFtVHB3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA3MH0.4NA0GhPoVCGqPsKGe1UKvACMbRKCRGYi2EM5wgiJlPY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cb71416c04a404ac375771299873f99e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"cb71416c04a404ac375771299873f99e"} device-1 | {"level":"info","message":"POST /devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde/websocket 200 31ms","method":"POST","requestID":"cb71416c04a404ac375771299873f99e","responseTime":31,"status":200,"url":"/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde/websocket"} gateway-1 | {"time_local":"05/May/2025:08:17:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.037","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cb71416c04a404ac375771299873f99e"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6e05177c85d87a3bf6265c0b70ff3eed","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"6e05177c85d87a3bf6265c0b70ff3eed","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"connected":true,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"6e05177c85d87a3bf6265c0b70ff3eed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA3MH0.QaOWrPc4xbow0Ab-RNuofH5j-hn_qQEVHXE5Y3aESVA","level":"info","message":"auth send jwt","requestID":"d47fb39b8ddeb6210928f969d8671383"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d47fb39b8ddeb6210928f969d8671383","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d47fb39b8ddeb6210928f969d8671383"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:50Z"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.669046,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"d47fb39b8ddeb6210928f969d8671383","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433070,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA3MH0.QaOWrPc4xbow0Ab-RNuofH5j-hn_qQEVHXE5Y3aESVA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d47fb39b8ddeb6210928f969d8671383","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F711ea0f7-17b8-4eb4-ad6f-f622fc521dde","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F711ea0f7-17b8-4eb4-ad6f-f622fc521dde","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:47.703181865Z"}]},"request_id":"03be8398-9dca-41b7-8260-8c08e658179d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433070.1149077} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d47fb39b8ddeb6210928f969d8671383","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d47fb39b8ddeb6210928f969d8671383"} gateway-1 | {"time_local":"05/May/2025:08:17:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d47fb39b8ddeb6210928f969d8671383"} device-1 | {"level":"info","message":"GET /devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde? 200 11ms","method":"GET","requestID":"d47fb39b8ddeb6210928f969d8671383","responseTime":11,"status":200,"url":"/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde?"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 14ms","method":"POST","requestID":"6e05177c85d87a3bf6265c0b70ff3eed","responseTime":14,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch","requestID":"6e05177c85d87a3bf6265c0b70ff3eed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA3MH0.QaOWrPc4xbow0Ab-RNuofH5j-hn_qQEVHXE5Y3aESVA","level":"info","message":"auth send jwt","requestID":"60646f13e16feb314ff4dc0085864ce9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"60646f13e16feb314ff4dc0085864ce9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"60646f13e16feb314ff4dc0085864ce9"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:50Z"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.74503,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"60646f13e16feb314ff4dc0085864ce9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433070,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA3MH0.QaOWrPc4xbow0Ab-RNuofH5j-hn_qQEVHXE5Y3aESVA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"60646f13e16feb314ff4dc0085864ce9","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62edd304-d439-4b07-babc-74a8601e9b1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62edd304-d439-4b07-babc-74a8601e9b1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:45.176504720Z"}]},"request_id":"dc7be5d0-44a7-4f16-91b2-22fa9b217023","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433070.1276076} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"60646f13e16feb314ff4dc0085864ce9","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"60646f13e16feb314ff4dc0085864ce9"} gateway-1 | {"time_local":"05/May/2025:08:17:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/62edd304-d439-4b07-babc-74a8601e9b1f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"60646f13e16feb314ff4dc0085864ce9"} device-1 | {"level":"info","message":"GET /devices/62edd304-d439-4b07-babc-74a8601e9b1f? 200 8ms","method":"GET","requestID":"60646f13e16feb314ff4dc0085864ce9","responseTime":8,"status":200,"url":"/devices/62edd304-d439-4b07-babc-74a8601e9b1f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"70d15230-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"70d1a050-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:52Z"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.124379,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"70d15230-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433067,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2N30.NWeiJRoJWARf2unMZ1n_RqpmEirLLOtP1drDJystkzY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"70d15230-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:48184","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:52Z"} authorization-1 | {"client_addr":"127.0.0.1:48184","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725789,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"70d1a050-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433067,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2N30.NWeiJRoJWARf2unMZ1n_RqpmEirLLOtP1drDJystkzY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"70d1a050-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F711ea0f7-17b8-4eb4-ad6f-f622fc521dde","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F711ea0f7-17b8-4eb4-ad6f-f622fc521dde","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:47.703181865Z"}]},"request_id":"6719c92f-7e0e-455d-b78e-0efc1d44def6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433072.8610766} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"70d15230-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62edd304-d439-4b07-babc-74a8601e9b1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62edd304-d439-4b07-babc-74a8601e9b1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"},"timestamp":"2025-05-05T08:17:45.176504720Z"}]},"request_id":"a3df1307-1e8f-4642-879c-9106dcd8922a","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433072.8616436} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"70d1a050-2989-11f0-8876-6f29f2a860cb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"70d15230-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde? 200 15ms","method":"GET","requestID":"70d15230-2989-11f0-8876-6f29f2a860cb","responseTime":15,"status":200,"url":"/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"70d1a050-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /devices/62edd304-d439-4b07-babc-74a8601e9b1f? 200 14ms","method":"GET","requestID":"70d1a050-2989-11f0-8876-6f29f2a860cb","responseTime":14,"status":200,"url":"/devices/62edd304-d439-4b07-babc-74a8601e9b1f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"70d43860-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:48184","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:52Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F711ea0f7-17b8-4eb4-ad6f-f622fc521dde","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"014cc0b2-cedc-41d4-9f48-806251c73a5d","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433072.876154} authorization-1 | {"client_addr":"127.0.0.1:48184","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.349131,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"70d43860-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"70d43860-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"70d43860-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde/signaling 200 11ms","method":"POST","requestID":"70d43860-2989-11f0-8876-6f29f2a860cb","responseTime":11,"status":200,"url":"/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"70d65b40-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:48184","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:52Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62edd304-d439-4b07-babc-74a8601e9b1f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80079dae-be7b-4ecd-af9a-c9a0cfc4e18c","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433072.888899} authorization-1 | {"client_addr":"127.0.0.1:48184","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.187318,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"70d65b40-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"70d65b40-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"70d65b40-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/62edd304-d439-4b07-babc-74a8601e9b1f/signaling 200 10ms","method":"POST","requestID":"70d65b40-2989-11f0-8876-6f29f2a860cb","responseTime":10,"status":200,"url":"/devices/62edd304-d439-4b07-babc-74a8601e9b1f/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd366aff-7285-48c1-b961-8ff314450706"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"9ce39673516d0191aabaece2f860704c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd366aff-7285-48c1-b961-8ff314450706"},"level":"info","message":"Building connection plan","requestID":"9ce39673516d0191aabaece2f860704c"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"3c62123c-e823-400a-8f09-815d32ea192b"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"2e8f368b-956d-4a5c-be04-b12c3e84990c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"6242e3cb-4dec-4384-ba23-a6abb81d9255"}]},"level":"info","message":"Built pairwise service configurations","requestID":"9ce39673516d0191aabaece2f860704c"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"9ce39673516d0191aabaece2f860704c"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"70d85710-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:48184","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:52Z"} authorization-1 | {"client_addr":"127.0.0.1:48184","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.180099,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"70d85710-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433067,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA2N30.NWeiJRoJWARf2unMZ1n_RqpmEirLLOtP1drDJystkzY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"70d85710-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]}},"raw_response":{},"request_id":"0445991b-14c9-44ca-8d9a-dc8514b01f54","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433072.9104745} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8fc8557-d155-4eb5-8c84-fe093b7927d9","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433072.9106407} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"70d85710-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"70d85710-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"70d85710-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/95b73fdc-0e08-4ce3-be09-e247f935cf65'","requestID":"70d85710-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/95b73fdc-0e08-4ce3-be09-e247f935cf65'","requestID":"70d85710-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"70d85710-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 37ms","method":"POST","requestID":"70d85710-2989-11f0-8876-6f29f2a860cb","responseTime":37,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"70d85710-2989-11f0-8876-6f29f2a860cb"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/95b73fdc-0e08-4ce3-be09-e247f935cf65","device":"62edd304-d439-4b07-babc-74a8601e9b1f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/95b73fdc-0e08-4ce3-be09-e247f935cf65","device":"711ea0f7-17b8-4eb4-ad6f-f622fc521dde","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"device":"62edd304-d439-4b07-babc-74a8601e9b1f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"62edd304-d439-4b07-babc-74a8601e9b1f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd366aff-7285-48c1-b961-8ff314450706"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"9ce39673516d0191aabaece2f860704c"} device-1 | {"device":"711ea0f7-17b8-4eb4-ad6f-f622fc521dde","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"711ea0f7-17b8-4eb4-ad6f-f622fc521dde","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"70e639c0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:48184","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:52Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F711ea0f7-17b8-4eb4-ad6f-f622fc521dde","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"508fdadc-47e2-41a6-81ca-8d2bab2e8195","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433072.9918282} authorization-1 | {"client_addr":"127.0.0.1:48184","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.448383,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"70e639c0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"70e639c0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 8400062713081776535 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:Ovq1\r\na=ice-pwd:kcfjVibOxYkY9CQQR0Yq4Erb\r\na=ice-options:trickle\r\na=fingerprint:sha-256 9C:89:A7:6D:AF:89:8B:77:09:51:EB:D6:26:00:3A:11:E4:ED:BA:D9:99:43:89:75:F9:5F:4C:6C:4D:B6:F9:01\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"62edd304-d439-4b07-babc-74a8601e9b1f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"70e639c0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde/signaling 200 9ms","method":"POST","requestID":"70e639c0-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"70e7e770-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:48184","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:53Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62edd304-d439-4b07-babc-74a8601e9b1f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"71b6c2e2-cb91-445d-a420-20331f3d4dfa","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433073.0274127} authorization-1 | {"client_addr":"127.0.0.1:48184","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.604002,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:53Z"} device-1 | {"content":{"sdp":"v=0\r\no=- 4474541368563142479 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:/kuY\r\na=ice-pwd:eKtBy1u7xmFZLv8b7ql9PNHh\r\na=ice-options:trickle\r\na=fingerprint:sha-256 55:5C:D3:DB:5A:8E:96:4C:17:EE:DF:E6:00:EA:CC:4B:7D:4E:81:08:94:6D:53:F7:BC:C5:C9:50:4B:86:7B:A4\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"711ea0f7-17b8-4eb4-ad6f-f622fc521dde","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"70e7e770-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"70e7e770-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"content":{"candidate":"candidate:3559030526 1 udp 2113937151 316e9088-f1e0-4844-8da7-994741865795.local 49794 typ host generation 0 ufrag /kuY network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"711ea0f7-17b8-4eb4-ad6f-f622fc521dde","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"70e7e770-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/62edd304-d439-4b07-babc-74a8601e9b1f/signaling 200 34ms","method":"POST","requestID":"70e7e770-2989-11f0-8876-6f29f2a860cb","responseTime":34,"status":200,"url":"/devices/62edd304-d439-4b07-babc-74a8601e9b1f/signaling"} device-1 | {"content":{"candidate":"candidate:185507172 1 udp 2113937151 09f503f3-4d6d-44cb-b5a7-45cd3643006d.local 35857 typ host generation 0 ufrag Ovq1 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"62edd304-d439-4b07-babc-74a8601e9b1f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"62edd304-d439-4b07-babc-74a8601e9b1f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/95b73fdc-0e08-4ce3-be09-e247f935cf65' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"95b73fdc-0e08-4ce3-be09-e247f935cf65","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"711ea0f7-17b8-4eb4-ad6f-f622fc521dde","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"62edd304-d439-4b07-babc-74a8601e9b1f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"90826017c62fc15f9302f2b82cf35796","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"device":"711ea0f7-17b8-4eb4-ad6f-f622fc521dde","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"90826017c62fc15f9302f2b82cf35796","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/95b73fdc-0e08-4ce3-be09-e247f935cf65"}}},"level":"info","message":"received a callback","requestID":"90826017c62fc15f9302f2b82cf35796"} device-1 | {"device":"62edd304-d439-4b07-babc-74a8601e9b1f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"711ea0f7-17b8-4eb4-ad6f-f622fc521dde","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"90826017c62fc15f9302f2b82cf35796","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"90826017c62fc15f9302f2b82cf35796"} device-1 | {"device":"711ea0f7-17b8-4eb4-ad6f-f622fc521dde","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"95b73fdc-0e08-4ce3-be09-e247f935cf65","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"95b73fdc-0e08-4ce3-be09-e247f935cf65","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/95b73fdc-0e08-4ce3-be09-e247f935cf65' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"95b73fdc-0e08-4ce3-be09-e247f935cf65","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/95b73fdc-0e08-4ce3-be09-e247f935cf65"}}},"level":"info","message":"received a callback","requestID":"cb24d4e304b1960543bd7789ce42f5e5"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cb24d4e304b1960543bd7789ce42f5e5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"cb24d4e304b1960543bd7789ce42f5e5","responseTime":0,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"70fad330-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:48184","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:53Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F95b73fdc-0e08-4ce3-be09-e247f935cf65","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8f675d6-a666-4f64-bf78-359fe8de4288","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433073.1272666} authorization-1 | {"client_addr":"127.0.0.1:48184","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.134614,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/95b73fdc-0e08-4ce3-be09-e247f935cf65","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"70fad330-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/95b73fdc-0e08-4ce3-be09-e247f935cf65","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"70fad330-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"70fad330-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"GET /peerconnections/95b73fdc-0e08-4ce3-be09-e247f935cf65 200 9ms","method":"GET","requestID":"70fad330-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/peerconnections/95b73fdc-0e08-4ce3-be09-e247f935cf65"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA3M30.ZK-rCWn12pq_au63OCwVfGQz07OQ5QlvYkPbQxvdMeY","level":"info","message":"auth send jwt","requestID":"04a9993b6f0a6d7513338c478970d3e9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"04a9993b6f0a6d7513338c478970d3e9","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 75ms","method":"POST","requestID":"cb24d4e304b1960543bd7789ce42f5e5","responseTime":75,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.077","http_referrer":"","http_user_agent":"node-fetch","requestID":"cb24d4e304b1960543bd7789ce42f5e5"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/bd366aff-7285-48c1-b961-8ff314450706","requestID":"04a9993b6f0a6d7513338c478970d3e9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"71029b60-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:48184","level":"info","msg":"Received request.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:53Z"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Received request.","req_id":850,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:53Z"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Sent response.","req_id":850,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.601651,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bd366aff-7285-48c1-b961-8ff314450706","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"04a9993b6f0a6d7513338c478970d3e9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/bd366aff-7285-48c1-b961-8ff314450706","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433073,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA3M30.ZK-rCWn12pq_au63OCwVfGQz07OQ5QlvYkPbQxvdMeY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"04a9993b6f0a6d7513338c478970d3e9","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F711ea0f7-17b8-4eb4-ad6f-f622fc521dde","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2ad6817-a82e-4995-99d1-62082c3b3fbc","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433073.1789765} authorization-1 | {"client_addr":"127.0.0.1:48184","level":"info","msg":"Sent response.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.23708,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"71029b60-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"71029b60-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"71029b60-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde/signaling 200 9ms","method":"POST","requestID":"71029b60-2989-11f0-8876-6f29f2a860cb","responseTime":9,"status":200,"url":"/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/bd366aff-7285-48c1-b961-8ff314450706","requestID":"04a9993b6f0a6d7513338c478970d3e9"} gateway-1 | {"time_local":"05/May/2025:08:17:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/bd366aff-7285-48c1-b961-8ff314450706 HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"04a9993b6f0a6d7513338c478970d3e9"} experiment-1 | {"level":"info","message":"GET /experiments/bd366aff-7285-48c1-b961-8ff314450706 200 9ms","method":"GET","requestID":"04a9993b6f0a6d7513338c478970d3e9","responseTime":9,"status":200,"url":"/experiments/bd366aff-7285-48c1-b961-8ff314450706"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"71044910-2989-11f0-8876-6f29f2a860cb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA3M30.ZK-rCWn12pq_au63OCwVfGQz07OQ5QlvYkPbQxvdMeY","level":"info","message":"auth send jwt","requestID":"5079346737c1bac60e0da2f05ca74c33"} authorization-1 | {"client_addr":"127.0.0.1:48184","level":"info","msg":"Received request.","req_id":851,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:53Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5079346737c1bac60e0da2f05ca74c33","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/bd366aff-7285-48c1-b961-8ff314450706","requestID":"5079346737c1bac60e0da2f05ca74c33"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62edd304-d439-4b07-babc-74a8601e9b1f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e997c7bc-8b83-468c-8742-b3a8e0dae171","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433073.189979} authorization-1 | {"client_addr":"127.0.0.1:48184","level":"info","msg":"Sent response.","req_id":851,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.39397,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:53Z"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Received request.","req_id":852,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"71044910-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"71044910-2989-11f0-8876-6f29f2a860cb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Sent response.","req_id":852,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.599983,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:53Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bd366aff-7285-48c1-b961-8ff314450706","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"5079346737c1bac60e0da2f05ca74c33","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"experiment:http://localhost/experiments/bd366aff-7285-48c1-b961-8ff314450706","object_type":"experiment","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433073,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA3M30.ZK-rCWn12pq_au63OCwVfGQz07OQ5QlvYkPbQxvdMeY"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"5079346737c1bac60e0da2f05ca74c33","responseTime":26,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"71044910-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/62edd304-d439-4b07-babc-74a8601e9b1f/signaling 200 33ms","method":"POST","requestID":"71044910-2989-11f0-8876-6f29f2a860cb","responseTime":33,"status":200,"url":"/devices/62edd304-d439-4b07-babc-74a8601e9b1f/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd366aff-7285-48c1-b961-8ff314450706"},"level":"info","message":"Attempting to finish experiment","requestID":"5079346737c1bac60e0da2f05ca74c33"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"7109c750-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Received request.","req_id":853,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:53Z"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Sent response.","req_id":853,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.638111,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:53Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/95b73fdc-0e08-4ce3-be09-e247f935cf65","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"7109c750-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"peerconnection:http://localhost/peerconnections/95b73fdc-0e08-4ce3-be09-e247f935cf65","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433073,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA3M30.ZK-rCWn12pq_au63OCwVfGQz07OQ5QlvYkPbQxvdMeY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7109c750-2989-11f0-8876-6f29f2a860cb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/95b73fdc-0e08-4ce3-be09-e247f935cf65","device":"62edd304-d439-4b07-babc-74a8601e9b1f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/95b73fdc-0e08-4ce3-be09-e247f935cf65","device":"711ea0f7-17b8-4eb4-ad6f-f622fc521dde","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/95b73fdc-0e08-4ce3-be09-e247f935cf65' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/95b73fdc-0e08-4ce3-be09-e247f935cf65' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"95b73fdc-0e08-4ce3-be09-e247f935cf65","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F95b73fdc-0e08-4ce3-be09-e247f935cf65': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F95b73fdc-0e08-4ce3-be09-e247f935cf65","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"bb33b9db-b8ed-4dc7-8775-cfff218dafdc","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433073.235747} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7959bdd6-5c2f-4819-a01f-1734afc99ae7","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433073.2360294} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9799549d4cd4a4adf4681f291f34fb4b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9799549d4cd4a4adf4681f291f34fb4b","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"7109c750-2989-11f0-8876-6f29f2a860cb","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"61ce0bafef2bcf5c4d17b99111c758b7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/95b73fdc-0e08-4ce3-be09-e247f935cf65"}}},"level":"info","message":"received a callback","requestID":"9799549d4cd4a4adf4681f291f34fb4b"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"61ce0bafef2bcf5c4d17b99111c758b7","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/95b73fdc-0e08-4ce3-be09-e247f935cf65"}}},"level":"info","message":"received a callback","requestID":"61ce0bafef2bcf5c4d17b99111c758b7"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"7109c750-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /peerconnections/95b73fdc-0e08-4ce3-be09-e247f935cf65 204 57ms","method":"DELETE","requestID":"7109c750-2989-11f0-8876-6f29f2a860cb","responseTime":57,"status":204,"url":"/peerconnections/95b73fdc-0e08-4ce3-be09-e247f935cf65"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f'"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called","requestID":"7112c800-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Received request.","req_id":854,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:53Z"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Sent response.","req_id":854,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.712684,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:53Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"7112c800-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d","object":"device:http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde","object_type":"device","payload":{"admin":true,"edgeToken":"u5GaeARpw5iMsr8D1DH0vvCQQ380_ri7v9RSqXIBwIvY3CiN6I5uXM1etA5xlW_1praLVET4LUsnJivNTSwEKg","iat":1746433073,"sub":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d","subject_alt":"http://localhost/users/9c511f34-4b06-452a-b03e-d73f8b456c4d"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNTExZjM0LTRiMDYtNDUyYS1iMDNlLWQ3M2Y4YjQ1NmM0ZCIsImVkZ2VUb2tlbiI6InU1R2FlQVJwdzVpTXNyOEQxREgwdnZDUVEzODBfcmk3djlSU3FYSUJ3SXZZM0NpTjZJNXVYTTFldEE1eGxXXzFwcmFMVkVUNExVc25KaXZOVFN3RUtnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NjQzMzA3M30.ZK-rCWn12pq_au63OCwVfGQz07OQ5QlvYkPbQxvdMeY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7112c800-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2F711ea0f7-17b8-4eb4-ad6f-f622fc521dde': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F711ea0f7-17b8-4eb4-ad6f-f622fc521dde","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"371a4390-08fc-41f1-bc9d-13d868483bf6","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433073.315401} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"52aacf8a-7576-488f-9fad-a532a43e4214","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433073.3156667} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"7112c800-2989-11f0-8876-6f29f2a860cb","responseTime":29,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded","requestID":"7112c800-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"DELETE /devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde 204 45ms","method":"DELETE","requestID":"7112c800-2989-11f0-8876-6f29f2a860cb","responseTime":45,"status":204,"url":"/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd366aff-7285-48c1-b961-8ff314450706"},"level":"info","message":"Successfully finished experiment","requestID":"5079346737c1bac60e0da2f05ca74c33"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"711bc8b0-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Received request.","req_id":855,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:53Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F711ea0f7-17b8-4eb4-ad6f-f622fc521dde","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a4722f24-5cff-4bb9-8aea-5a7b12b547e1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433073.3639305} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Sent response.","req_id":855,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.499632,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"711bc8b0-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"711bc8b0-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"error":"MissingEntityError","message":"The requested Device Overview does not exist in the database","method":"POST","stack":"MissingEntityError: The requested Device Overview does not exist in the database\n at DeviceOverviewRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-common/lib/esm/database/abstractRepository.js:63:19)\n at async DeviceRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-device/app/database/repositories/device.js:155:32)\n at async Object.postDevicesByDeviceIdSignaling (file:///usr/local/lib/node_modules/@crosslab/service-device/app/operations/devices/device/signaling/post.js:22:25)\n at async file:///usr/local/lib/node_modules/@crosslab/service-device/app/generated/routes.js:276:28","status":404,"url":"/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"711bc8b0-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde/signaling 404 28ms","method":"POST","requestID":"711bc8b0-2989-11f0-8876-6f29f2a860cb","responseTime":28,"status":404,"url":"/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"The requested Device Overview does not exist in the database"},"status":404}},"level":"error","message":"Could not send status-update message","requestID":"5079346737c1bac60e0da2f05ca74c33"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"71205c90-2989-11f0-8876-6f29f2a860cb"} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Received request.","req_id":856,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-05-05T08:17:53Z"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","contextual_tuples":null,"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62edd304-d439-4b07-babc-74a8601e9b1f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c37cb64b-e840-4606-aacb-8511ae3725a1","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433073.3726656} authorization-1 | {"client_addr":"127.0.0.1:48168","level":"info","msg":"Sent response.","req_id":856,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.21732,"resp_status":200,"subsystem":"opa","time":"2025-05-05T08:17:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f","openfga":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"requestID":"71205c90-2989-11f0-8876-6f29f2a860cb","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"71205c90-2989-11f0-8876-6f29f2a860cb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"71205c90-2989-11f0-8876-6f29f2a860cb"} device-1 | {"level":"info","message":"POST /devices/62edd304-d439-4b07-babc-74a8601e9b1f/signaling 200 7ms","method":"POST","requestID":"71205c90-2989-11f0-8876-6f29f2a860cb","responseTime":7,"status":200,"url":"/devices/62edd304-d439-4b07-babc-74a8601e9b1f/signaling"} authorization-1 | {"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbd366aff-7285-48c1-b961-8ff314450706': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"authorization_model_id":"01JTFR6ZZ20KV3ZT80HE8ED69P","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbd366aff-7285-48c1-b961-8ff314450706","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c511f34-4b06-452a-b03e-d73f8b456c4d"}]},"store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","writes":null},"raw_response":{},"request_id":"09ca1c53-9457-4fc7-b13d-36e081576ecd","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433073.376693} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:40224","raw_request":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS"},"raw_response":{"authorization_model":{"id":"01JTFR6ZZ20KV3ZT80HE8ED69P","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d9370fea-8786-4669-9cab-cb7d00113c92","store_id":"01JTFR6ZXCP0J4T0RBG0WW1QXS","subsystem":"openfga","timestamp":1746433073.376885} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"5079346737c1bac60e0da2f05ca74c33","responseTime":40,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/bd366aff-7285-48c1-b961-8ff314450706","requestID":"5079346737c1bac60e0da2f05ca74c33"} gateway-1 | {"time_local":"05/May/2025:08:17:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/bd366aff-7285-48c1-b961-8ff314450706 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.294","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5079346737c1bac60e0da2f05ca74c33"} experiment-1 | {"level":"info","message":"DELETE /experiments/bd366aff-7285-48c1-b961-8ff314450706 204 292ms","method":"DELETE","requestID":"5079346737c1bac60e0da2f05ca74c33","responseTime":292,"status":204,"url":"/experiments/bd366aff-7285-48c1-b961-8ff314450706"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 268ms","method":"POST","requestID":"9799549d4cd4a4adf4681f291f34fb4b","responseTime":268,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.272","http_referrer":"","http_user_agent":"node-fetch","requestID":"9799549d4cd4a4adf4681f291f34fb4b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 268ms","method":"POST","requestID":"61ce0bafef2bcf5c4d17b99111c758b7","responseTime":268,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.270","http_referrer":"","http_user_agent":"node-fetch","requestID":"61ce0bafef2bcf5c4d17b99111c758b7"} gateway-1 | {"time_local":"05/May/2025:08:17:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"5.992","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a1229eafa2b0a3c830a129874b08631d"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/62edd304-d439-4b07-babc-74a8601e9b1f' closed"} gateway-1 | {"time_local":"05/May/2025:08:17:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2097","request_time":"3.419","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9e28fa6dbc1ac54ff50a4bf834daf4b2"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde' closed"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ea3d4fcd0e8fd45787c1726acf2637f2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"connected":false,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/711ea0f7-17b8-4eb4-ad6f-f622fc521dde"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"ea3d4fcd0e8fd45787c1726acf2637f2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 2ms","method":"POST","requestID":"ea3d4fcd0e8fd45787c1726acf2637f2","responseTime":2,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"05/May/2025:08:17:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "410","body_bytes_sent":"5","request_time":"0.004","http_referrer":"","http_user_agent":"node-fetch","requestID":"ea3d4fcd0e8fd45787c1726acf2637f2"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"ea3d4fcd0e8fd45787c1726acf2637f2","responseTime":8,"status":200,"url":"/auth"} federation-1 exited with code 143 authentication-1 exited with code 143 device-1 exited with code 143 experiment-1 exited with code 143 authorization-1 exited with code 0 gateway-1 exited with code 0